Metodos de ordenacion - Pascal

Iniciado por M33RK4T, 30 Abril 2012, 06:58 AM

0 Miembros y 1 Visitante están viendo este tema.

M33RK4T

Hola!

Hoy estaba aburrido y me puse a programar un programa para ordenar un arreglo con datos al azar que el programa mismo le carga. Diganme que les parece y si hay algo que pueda mejorarle.

Código (pascal) [Seleccionar]
   
Program inserci;
    uses
       crt;
    const
       N = 15;
    var
       OTRO : string;
       HACER : boolean;
       I, J, D, CANT, ACTUAL : integer;
       A : array [0..N] of integer;
    begin
    clrscr;
    HACER := true;
    While HACER = true do
    begin
       write('Ingrese la cantidad de numeros a ordenar ');
       readln(cant);
       randomize;
       A[0]:= -32768;
       for i := 1 to CANT do
          begin
          a[i] := random(300);
          writeln('a [',i:2,'] = ', a[i]:3);
          end;
       I:= 1;
       while (A [I] < A [I+1]) and (I < CANT) do
          I:= I+1;
       if I = CANT then
          break;
       For I:= 2 to CANT do
          begin
          J:= I-1;
          ACTUAL:= A[I];
          While A [J] > ACTUAL do
             J:= J-1;
          for D:=I  downto J+1 do
             A[D]:= A[D-1];
          A[J+1]:= ACTUAL;
          end;
     
       writeln;
       for I:= 1 to CANT do
          writeln('A',I,' = ',A[I]);
    readkey;
    clrscr;
    write ('Quiere ordenar otro arreglo?');
    readln(OTRO);
    if (OTRO = 's') or (OTRO = 'y') then
       HACER:= true
    else
       HACER:= false;
    readkey;
    end;
    End.


Perdon si no es el sitio adecuado del foro.