Programación General => Pascal => Mensaje iniciado por: Panteon en Jueves 16 de Septiembre de 2004, 22:46
Título: Ordenacion alfabética
Publicado por: Panteon en Jueves 16 de Septiembre de 2004, 22:46
Me gustaria saber si alguien me puede ayudar diciendome como puedo ordenar alfabeticamente en pascal, ya que he buscado y no he encontrado como
Muchas gracias de Antemano
Título: Re: Ordenacion alfabética
Publicado por: Enko en Viernes 17 de Septiembre de 2004, 02:06
Supondré que sababras algoritmos de ordenacion así que pasaré a comentarte que La unidad CRT posee una funcion llamada Ord y su definicion es la siguiente
Código: Text
function Ord(X) : LongInt;
Lo que realiza esta funcion es devolverte el ORDINAL del parametro que le pases. Asi
Ord('a')=97</li>
Ord('z') =122</li>
Teniendo valores numericos creo que podras ordenarlo.
Suerte :hola:
Título: Re: Ordenacion alfabética
Publicado por: Panteon en Viernes 17 de Septiembre de 2004, 05:18
Muchas gracias por contestar pero tengo un problema
cuando pongo
Citar
uses ord;
aparece el error 15 "file not found (ord.tpu)"
no se si de casualidad te sepas otra forma de ordenar alfaticamente.
Te daré una pequeña descripción de mi programa: el programa debe ordenar a los alumnos que estan estudiando en el extranjero. Y debo ordenar alfabeticamente los paises para que asi el usuario pueda ver que alumnos estan en que pais.
Espero que eso ayude
gracias de nuevo
Título: Re: Ordenacion alfabética
Publicado por: Enko en Viernes 17 de Septiembre de 2004, 15:44
Ord no es una unidat ;) ; es una funcion que se encuentra en la unidad CRT.tpu
Te dejo un ejemplo para que quede más claro. :P
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1--> program DemoOrd;
uses CRT;
var {Variables para la primera parte del demo} PosLetra : integer; {para la segunda parte del demo} Palabra1,Palabra2 : string; Ord1, Ord2 : integer;
Write('Ingese una palabra cualquiera: '); ReadLn(Palabra1); Write('Ingese una palabra cualquiera que empieze con una letra distinta: '); ReadLn(Palabra2); Ord1 := Ord(Palabra1[1]); {Seria la primera letra de la palabra} Ord2 := Ord(Palabra2[1]); {Seria la primera letra de la segunda palabra} WriteLn('A continuacion se escribiran las palabras ordenadas alfabeticamente'); WriteLn(''); WriteLn('Presione una tecla'); ClrScr;
if Ord1 < Ord2 then begin WriteLn(Palabra1); WriteLn(Palabra2); end else if Ord2 < Ord1 then begin WriteLn(Palabra2); WriteLn(Palabra1); end else if Ord1 = Ord2 then begin Writeln('Se suponia que tenian que empezar con letras distintas'); end; readkey; end.