• Domingo 15 de Diciembre de 2024, 00:47

Autor Tema:  error en una suma de palabras al hacer el ciclo  (Leído 1127 veces)

tazz1987

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
error en una suma de palabras al hacer el ciclo
« en: Jueves 24 de Julio de 2008, 17:38 »
0
miren tengo es te codigo en c pero lo que quiero reportar es el numero de palabras que tiene la frase bueno pero mi error es que cuando aplico el ciclo en me suma las palabras que tengo en la primera frase mas la de la segunda frase ejem: tengo la frase"francia vs alemania" aqui me muestra 3 palabras pero en la segunda frase que es "mexico contra brasil" lo que me deveria mostrar es 3 pero lo que hace es que me muestra 6.
es te es mi codigo espero me puedan ayudar:

int main()
   {
     
     char pal[40],pal2[40];
     int u,n,x,e=0,nc,w=0;
     char b=' ';
     do
     {
     printf("nt Ingrese la frase:");
     fflush( stdin );
     gets(pal);
     n=strlen(pal);
     
     for (u=0;u<=n;u++)
       {
         if (pal==b)
            pal2[e]=pal;
         {
              printf("ntLa frase es:nn");
                  while(pal!='')
                    {
                      if(pal!=b)
                       {
                         printf("%c",pal);
                       }
                      else if(u>0 && (pal==b && pal[u-1]!=b))
                       {
                    printf(" ");
                   w++;
                     }
                   u++;
                  }
              if(pal!=b)
              w++;
         }
       }
   
    printf("nnntEl numero de palabras es: %d",w);
   
   printf("nsi desea seguir proporcione un 1nn");
    printf("si no desae continuar presione 0 nn");
    scanf("%d", &nc);
    } while(nc==1);    
   
    printf("nnnn");
    system("pause");
    }

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: error en una suma de palabras al hacer el ciclo
« Respuesta #1 en: Jueves 24 de Julio de 2008, 18:41 »
0
debes poner w=0 dentro del ciclo do..while, antes del for, para que cada vez que regrese, ponga el contador de palabras (w) a cero.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

tazz1987

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
gracias
« Respuesta #2 en: Viernes 25 de Julio de 2008, 03:27 »
0
gracias profesorx agradezco tu ayuda me ayudo mucho espero algun dia poderte ayudar