Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Jesusm1229

#11
Programación C/C++ / La palabra mas larga
14 Junio 2015, 03:06 AM
Buenas, chicos. Primero que todo quiero pedir disculpa por si coloqué este post donde no es; es que soy nuevo y no he leído las reglas del foro. Bueno, a lo que iba: pueden ayudarme con esta parte de un código que consiste en mostrar la palabra mas larga de una oración? he logrado mostrar la cantidad de letras de la mayor pero no la palabra en sí. Tengo una idea con un arreglo bidimensional pero no he podido expreasrla.
PD: no puedo usar la librería string. Gracias

Código (cpp) [Seleccionar]
#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.

#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;

}