• Sábado 20 de Abril de 2024, 14:16

Autor Tema:  Programa  (Leído 1332 veces)

diegorojo_83

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Programa
« en: Jueves 7 de Septiembre de 2006, 20:50 »
0
hola que tal, queria saber en que me estoy equivocando al hacer este programa.... por que lo revise y no se que esta mal, como recien empieso a programar, capas que este haciendo las cosas mal, pero bueno espero que me ayuden.... el enunciado es: crear un programa que al ingresar una frace terminada en "/" me diga la cantidad de letras de la palabra mas larga....



Citar
program palabramayor;

  uses crt;
  var
       cant,max: integer;
       txt: string;
       i:integer;

  begin
    clrscr;
  write('ingrese una frace terminada en /');
  readln(txt);

  for i:= 1 to 255 do
  begin
        if txt <> ' ' then
        begin
               cant:=cant+1;
        end
        else
               cant:=0;
        end;
        if cant>max then
        begin
               max:=cant;
        end;

  write('la palabra mas larga del texto es de: ',cant);
  readkey;
  end.

GRACIAS
Diego.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Programa
« Respuesta #1 en: Jueves 7 de Septiembre de 2006, 21:05 »
0
y que ocurre si tu frase terminada en "/" tiene menso de 255 caracteres?
Citar
for i:= 1 to 255 do
  begin

Creo que eso debería ser:
Citar
for i:=1 to Length(txt)  do
begin
Es decir, para i=1 hasta el largo de la cadena.

Respecto del resto de las cosas.... ?te encuentra la palabra m'as larga?

diegorojo_83

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Programa
« Respuesta #2 en: Jueves 7 de Septiembre de 2006, 21:26 »
0
lo puse como me dijiste, pero yo tengo una condicion que es que el siclo se tiene que terminar cuando tenga el caracter "/"..... y eso no puedo hacerlo.... quise poner el codigo asi: pero me tira error.
Citar
program palabramayor;

  uses crt;
  var
       cant,max: integer;
       txt: string;
       i:integer;

  begin
    clrscr;
  write('ingrese una frace terminada en /');
  readln(txt);

  for i:= 1 to txt= '/' do
  begin
        if txt <> ' ' then
        begin
               cant:=cant+1;
        end
        else
               cant:=0;
        end;
        if cant>max then
        begin
               max:=cant;
        end;

  write('la palabra mas larga del texto es de: ',cant);
  readkey;
  end.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Programa
« Respuesta #3 en: Jueves 7 de Septiembre de 2006, 21:36 »
0
Código: Text
  1.  
  2. i := 0;
  3. while (i&#60;Lenght(txt)) and (txt[i] &#60;&#62; '/') do
  4. begin
  5.   i := i + 1;
  6.  
  7.  

Saiyan1

  • Miembro activo
  • **
  • Mensajes: 54
    • Ver Perfil
    • http://www.anaprog.com.ar
Re: Programa
« Respuesta #4 en: Jueves 14 de Septiembre de 2006, 15:47 »
0
Lo mismo estaba por decir..

pero tambien estaba por decir una más:

"frase" es con s


Código: Text
  1. write('ingrese una frace terminada en /');
  2.   readln(txt);
  3.  


Firma:" el obsesivo de la ortografía"

jajaja

Saludos
----------------------
Gustavo Insaurralde
Foro de Analista Programador