• Domingo 22 de Diciembre de 2024, 16:43

Autor Tema:  Deteccion en ciclo  (Leído 1605 veces)

House

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Deteccion en ciclo
« en: Domingo 15 de Noviembre de 2009, 19:09 »
0
Hola a todos, soy nuevo en este foro y espero que me puedan dar una mano con un programa en pascal que he estado haciendo. Consiste en ordenar alfabeticamente las palabras de la frase que el usuario escribe. Este es el codigo:
Código: Pascal
  1.  program alfabetico;
  2. uses crt;
  3. var I,y,z,menor,m2,m,mn,m3,m4,z3: integer;
  4.     frase,x,abc,z2,f,z4: string;
  5.     b: char;
  6.  
  7. procedure ordenar;
  8. Begin
  9. b:= ' ';
  10. abc := 'abcdefghijklmnopqrstuvwxyz';
  11. writeln('Digite una frase');
  12. readln(frase);
  13. f:= b+frase;
  14. for I:= 1 to length(frase) do
  15.  Begin
  16.  x:= copy(f,I,1);
  17.  y:= pos(x,f);
  18.  if(x = ' ') then
  19.   Begin
  20.   z:= y;
  21.   Delete(f,y,1);
  22.   z2:= copy(f,z,1);
  23.   z3 := pos(z2,abc);
  24.   write(z3);
  25.   End;
  26.  End;
  27. End;
  28.  
  29. Begin
  30. clrscr;
  31. ordenar;
  32. readkey;
  33. End.
  34.  
  35.  

si lo compilan en turbo veran que imprime numeros, estos los pienso convertir a letras mediante el sub programa copy una vez haya podido ordenar los numeros de manera ascendente.
Esto no lo he podido hacer ya que las variables se llaman igual por estar en el for (z3), he intentado esto:
Código: Pascal
  1.  m:= z3;
  2.  if(m>z3) then
  3.     Begin
  4.      m2:=z3;
  5.      m:= m;
  6.      write(m2) (*para que me indique el menor*)
  7.      End;
  8.  
  9.  

Pero no imprime nada, entonces, como podria saber cual es el menor, quien le sigue, etc, con un if dentro del ciclo? Gracias por su atencion.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Deteccion en ciclo
« Respuesta #1 en: Martes 17 de Noviembre de 2009, 01:05 »
0
La frase divídelas en palabras, pasa las palabras a una lista (o un vector de strings) ordena la lista y luego reconstruye la frase con las palabras ordenadas.

House

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Deteccion en ciclo
« Respuesta #2 en: Miércoles 18 de Noviembre de 2009, 06:06 »
0
Muchas gracias por responder, he podido concretarlo mediante arrays tal y como fue sugerido. Saludos.