Hola gente, resulta que tengo un problema grande, tengo que hacer lo siguiente:
Dada una oración, indicar la posicion (desplazamiento desde el comienzo) donde esta la palabra mas larga. Si hay 2 o mas, debera indicar la primera ocurrencia. Las palabras están separadas por blancos.
Deberá definir una función recursiva a la cola que resuelva el problema en una unica pasada por los datos.
Lo que llevo hasta ahora es lo que se me ocurrio, pero la verdad que no me funciona, y ya no se que hacer. Espero que sepan como ayudarme.
en este intento del programa, intento hacer de que mientras sea distinto de blanco, me cuente las palabras. Necesito comparalas, pero no tengo muy claro como.
Sin mas, un saludo, atte.
Pablo Morales!
Código c++:
Ver original#include <stdio.h>
#include <stdlib.h>
int largo ( char* cadena,int i,int pos,int conPal)
{ int largoPal;
if (cadena[i]=='\0')
{
return i;
}
else
{
if (cadena[i] != ' ')
{
return largo ( cadena,i+1,pos+1,conPal+1);
}
else
{ if (conPal>largoPal)
{
largoPal=conPal;
}
else {};
}
}
}
int main()
{
char cadena[] = "belenzuela lalalalal";
printf("%s\n", largo
(cadena
, 0,0,0));
return 0;
}