elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  1ra palabra de un String
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: 1ra palabra de un String  (Leído 2,435 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
1ra palabra de un String
« en: 19 Febrero 2015, 23:29 pm »

Hola, que tal?

Les vengo a preguntar sobre una función que me muestra la 1r palabra de un string, tengo esta función hecha, compila bien pero no muestra nada.

Código
  1. char* extraerPalabra(char frase[20]) {
  2.  
  3. char *elemento = strtok(frase, " ");
  4.  
  5. strcpy(frase, elemento);
  6.  
  7. while (elemento != NULL) {
  8.        if (!strcmp(frase, elemento)) // Comparamos las dos cadenas
  9. elemento = strtok(NULL, " ");
  10.    }
  11. return frase;
  12. }


Código
  1. case 2:
  2. printf("String mostrando la 1r palabra: ' %s '", extraerPalabra(frase));
  3. break;
  4.  


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: 1ra palabra de un String
« Respuesta #1 en: 20 Febrero 2015, 05:05 am »

me parece que sobra ese if dentro de la función.
Código
  1. #include <stdio.h>
  2.  
  3. char* extraerPalabra ( char frase[20] ) {
  4.    char *elemento = strtok ( frase, " " );
  5.  
  6.    strcpy ( frase, elemento );
  7.  
  8.    while ( elemento != NULL ) {
  9.        //if ( !strcmp ( frase, elemento ) ){ // Comparamos las dos cadenas
  10.        elemento = strtok ( NULL, " " );
  11.  
  12.    }
  13.  
  14.    return frase;
  15.  
  16. }
  17.  
  18. int main () {
  19.    char frase[20] = "Hola mundo cruel.";
  20.  
  21.    printf ( "String mostrando la 1r palabra: ' %s '", extraerPalabra ( frase ) );
  22.  
  23.    getchar();
  24.    return 0;
  25. }
  26.  


En línea

sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: 1ra palabra de un String
« Respuesta #2 en: 21 Febrero 2015, 09:18 am »

Gracias por la ayuda, era solamente eso!!  ;-) ;-)

Tengo otra función parecida, la de mostrar la palabra más larga del String introducido y no me funciona:



Código
  1. /* Función para mostrar la palabra más larga de una frase */
  2. char* palabraLarga(char frase[20]){
  3. char *elemento = strtok ( frase, " " );
  4.  
  5. strcpy(frase, elemento);
  6.  
  7. while ( elemento != NULL ) {
  8. if(strlen(elemento) >= strlen(frase))
  9. strcpy(frase, elemento);
  10. elemento = strtok(NULL, " ");
  11. }
  12. return frase;
  13. }

Código
  1. case 3:
  2. system("cls");
  3. printf("La palabra más larga del String es ' %s '", palabraLarga(frase));
  4. break;
En línea

fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: 1ra palabra de un String
« Respuesta #3 en: 21 Febrero 2015, 16:43 pm »

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* Función para mostrar la palabra más larga de una frase */
  5. char* palabraLarga(char frase[50]){
  6.    char *elemento = strtok ( frase, " " );
  7.  
  8.    strcpy(frase, elemento);
  9.  
  10.    while ( elemento != NULL ) {
  11.        if(strlen(elemento) >= strlen(frase))
  12.        strcpy(frase, elemento);
  13. elemento = strtok(NULL, " ");
  14.    }
  15.    return frase;
  16. }
  17.  
  18. int main()
  19. {
  20.    char frase[] = "Me gusta el chocolate con pan";
  21.    printf("La palabra más larga del String es ' %s '\n", palabraLarga(frase));
  22.    return 0;
  23. }


Cuidado con los tamaños de los buffer.

saludos.
En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cortar string por palabra numero X
PHP
lucaslopez0000 1 2,003 Último mensaje 2 Mayo 2013, 19:48 pm
por #!drvy
Extraer Palabra de un String con delimitadores
PHP
spysecurityca 4 3,817 Último mensaje 3 Septiembre 2014, 16:51 pm
por WHK
Buscar una palabra dentro de un string
Programación C/C++
kur79 3 16,876 Último mensaje 18 Febrero 2019, 19:48 pm
por Loretz
Imprimir la palabra mas larga de un string C++
Programación C/C++
MellaSystems 8 9,445 Último mensaje 19 Agosto 2016, 23:29 pm
por Skynet96
extraer palabra de string
.NET (C#, VB.NET, ASP)
PETTETE 5 4,810 Último mensaje 19 Septiembre 2017, 14:51 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines