Programación General > Pascal
Ordenacion alfabética
(1/1)
Panteon:
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
Enko:
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:
Panteon:
Muchas gracias por contestar pero tengo un problema
cuando pongo
--- Citar ---uses
ord;
--- Fin de la cita ---
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
Enko:
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;
begin
ClrScr;
PosLetra := Ord('a');
WriteLn(PosLetra);
PosLetra := Ord('z');
WriteLn(PosLetra);
ReadKey;
ClrScr;
{Fin Primera Parte del Demo}
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.
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
:comp: Suerte
Panteon:
Muchas gracias por la ayuda, ya con eso me quedó claro como usar el ord, ya solo tenog que hacer unas experimentaciones para que me salga bien
gracias de nuevo :D
Navegación
Ir a la versión completa