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

 

 


Tema destacado: Tutorial básico de Quickjs


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

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Problema con contador de palabra en C
« en: 30 Mayo 2013, 21:09 pm »

Alguien me puede echar una mano con este codigo que no me compila me tira este error:

Código
  1. error: lvalue required as increment operand

Y aqui esta el codigo que llevo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(void)
  6. {
  7.    char frase[] = "Hola como estas Hola como te va Hola amigo";
  8.    char palabra[] = {"Hola"};
  9.  
  10.    int lon = strlen(palabra);
  11.  
  12.    int i, j = 0;
  13.  
  14.    while(*frase != '\0'){
  15.        i = 0;
  16.        while(*frase != ' ' || *frase != '\0'){
  17.            frase++; // Error en esta linea
  18.            i++;
  19.        }
  20.        if(strncmp(frase - lon, palabra, lon)==0) j++;
  21.  
  22.        if(*frase != '\0')
  23.           frase++; // Y aqui
  24.    }
  25.  
  26.    printf("La palabra Hola se repite %d veces", j);
  27.  
  28.    return 0;
  29. }
  30.  
  31.  

Saludos  :rolleyes:


« Última modificación: 30 Mayo 2013, 21:11 pm por mcKicrO » En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #1 en: 30 Mayo 2013, 21:30 pm »

No lo puedo probar pero intenta cambiar los corchetes por un *:

Código
  1. char frase[] = "Hola como estas Hola como te va Hola amigo";

Código
  1. char* frase = "Hola como estas Hola como te va Hola amigo";


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #2 en: 30 Mayo 2013, 21:48 pm »

amchacon he probado la forma que me indicaste me lanza uno peor de igual forma
estoy buscado por la red informacion al respecto

Saludos
En línea

Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #3 en: 31 Mayo 2013, 02:56 am »

Hola he intentado hacerlo de esta forma pero sigue sin funcionar este me compila
pero al ejecutarlo me indica que mi programa quiere leer una area de memoria que
no esta disponible como puedo correjirlo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.    char frase[] = "Hola como estas Hola como te va Hola amigo";
  8.    char palabra[] = { "Hola" }, auxiliar[10]={0};
  9.  
  10.    int lon = strlen(palabra);
  11.  
  12.    int i, j = 0;
  13.  
  14.    do{
  15.  
  16.        while(frase[i] != '32')
  17.        {
  18.            auxiliar[i] = frase[i];
  19.            i++;
  20.        }
  21.        auxiliar[i]='\0';
  22.        if(i == lon && strcmp(auxiliar, palabra) == 0)
  23.          j++;
  24.  
  25.          if(frase[i] != '\0')
  26.            i++;
  27.  
  28.    }while(frase[i] != '\0');
  29.  
  30.    printf("La palabra Hola se repite %d veces", j);
  31.  
  32.    return 0;
  33. }
  34.  
  35.  

Saludos  
« Última modificación: 31 Mayo 2013, 03:41 am por mcKicrO » En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #4 en: 31 Mayo 2013, 17:31 pm »


Pues a mí si me compila, pero con unas pequeñas variaciones :)

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    char frase[] = "Hola como estas Hola como te va Hola amigo";
  7.    char palabra[] =  "Hola" , aux[10]={0},aux0[10]="";
  8.    int i=0, j = 0;
  9.  
  10.    do
  11.    {
  12.        if(frase[i]=='H' && frase[i+3]=='a')
  13.            j++;
  14.        i++;
  15.    }while(frase[i] != '\0');
  16.    printf("La palabra %s se repite %d veces con do-while\n" , palabra, j);
  17.  
  18.    /************ otra forma************/
  19.  
  20.   char *p;
  21.    i=0;
  22.    for (p = frase; (p = strstr(p, "Hola")) != NULL; p += 2)
  23.        i++;
  24.    printf("La palabra %s se repite %d veces con strstr.\n",palabra, j);
  25.  
  26.    /************ otra forma************/
  27.  
  28.    int k=0;
  29.    i=0, j = 0;
  30.    for (i=0;frase[i] != '\0' ;i++)
  31.    {
  32.        if (frase[i] != ' ')
  33.            aux[k] = frase[i];
  34.        k++;
  35.        if (frase[i] == ' ')
  36.        {
  37.            aux[k-1]='\0';
  38.            k=0;
  39.            if (strcmp (palabra,aux)==0)
  40.                j++;
  41.            strcpy(aux,aux0);
  42.        }
  43.    }
  44.     printf("La palabra %s se repite %d veces con strcmp", palabra,j);
  45.    return 0;
  46. }
  47.  

Saluditos!. .... ..
En línea

Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #5 en: 31 Mayo 2013, 17:53 pm »

leosansan me podrias indicar los errores que hay en el ultimo codigo que postee
ya no lo puedo ver te lo agradeceria mucho excelente los codigos que posteaste

Saludos  :rolleyes:
En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #6 en: 31 Mayo 2013, 22:40 pm »

Prueba con:

Código
  1. char frase[] = "Hola como estas Hola como te va Hola amigo";
  2. char *p = frase;

Y haz con 'p' todo lo que hacías con 'frase'.

Saludos.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #7 en: 31 Mayo 2013, 23:14 pm »


    int i, j = 0;
Código
  1.    do{
  2.  
  3.        while(frase[i]!= '32')
  4.        {
  5.           ......................................................................

Perdona que no haya mirado mucho el código, pero de entrada tienes un despiste mortal de necesidad, no has inicializado la variable i y a partir de ahí paré de mirar, sorry. Cuando pille más tiempo lo miraré más detalladamente.

Saluditos! ... ..
En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Problema con contador de palabra en C
« Respuesta #8 en: 31 Mayo 2013, 23:38 pm »

Perdona que no haya mirado mucho el código, pero de entrada tienes un despiste mortal de necesidad, no has inicializado la variable i y a partir de ahí paré de mirar, sorry. Cuando pille más tiempo lo miraré más detalladamente.

De hecho en esta misma línea que comentas:

Citar
while(frase!= '32')

O bien pones esto:
Código:
while(frase[i]!= 32)

O bien pones esto:
Código:
while(frase[i]!= ' ')

Saludos!
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Problema con contador de palabra en C
« Respuesta #9 en: 31 Mayo 2013, 23:48 pm »

bue ya que postee mire tu code

Código
  1. frase++;
no es la forma correcta de recorrer los arrays esto puede funcionar con una variable numerica pero no con una cadena.

supongo que intentas moverse un caracter pero lo que haces es en caso de ser variable numerica sumarle uno

para recorrer un array es asi
Código
  1. char cadena[2];
  2.  
  3. for (int num=0;num<2;num++)
  4. {
  5. cadena[num];
  6. }
  7.  
« Última modificación: 31 Mayo 2013, 23:57 pm por daryo » En línea

buenas
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Seleccionar Palabra por Palabra
Programación Visual Basic
RickJack 6 5,403 Último mensaje 15 Septiembre 2008, 23:47 pm
por RickJack
Problema con contador en C « 1 2 »
Programación C/C++
-/lnkx/- 12 20,223 Último mensaje 7 Diciembre 2011, 18:53 pm
por A.ABAENA
Como hacer /una/palabra/ en vez de ?1=una&2=palabra « 1 2 3 »
PHP
dimitrix 20 9,705 Último mensaje 14 Enero 2010, 00:24 am
por dimitrix
Problema contador en C « 1 2 3 »
Programación C/C++
People95 22 8,628 Último mensaje 4 Marzo 2014, 04:26 am
por leosansan
Problema con contador en batch.
Scripting
Ezko 2 4,047 Último mensaje 11 Mayo 2018, 18:58 pm
por Ezko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines