PD: no puedo usar la librería string. Gracias
Código
#include<iostream.h> #define max 50 void main(){ int i,f,c,cont,mayor; char frase[max], frasemayor[max/2][max]; cout<<"introduzca una frase: ";gets(frase); for(i=0,f=0,c=0,mayor=0;frase[i]!=NULL;) if(frase[i]!=32) {while(frase[i]!=32 && frase[i]!=NULL) frasemayor[f][c++]=frase[i++]; if(c>mayor)mayor=c; frasemayor[f][c]=NULL; f++;c=0; } else i++; cout<<mayor<<endl;}
Muchísimas gracias a todos por sus consejos. Considero que el programa funciona de forma eficiente y no me ha dado errores. A continuación voy a postear aquí el resultado esperando que sirva de ayuda para demás estudiantes.
Código:
#include <stdio.h>
#include<iostream.h>
#define max 50
void main(){
int i,f,c,j,mayor,cambio, v ;
char frase[max], frasemayor[max/2][max];
char *p;
cout<<"introduzca una frase: ";gets(frase);
for(i=0,f=0,c=0,mayor=0;frase[i]!=NULL;)
if(frase[i]!=32)
{while(frase[i]!=32 && frase[i]!=NULL)
frasemayor[f][c++]=frase[i++];
if(c>mayor){mayor=c;p=frasemayor[f];}
frasemayor[f][c]=NULL;
f++;c=0;
}
else i++;
cout<<"la palabra mas larga es \'";
printf("%s",p);
cout<<"\' y tiene "<<mayor<<" letras"<<endl;
}