Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: M33RK4T en 30 Abril 2012, 06:58 am



Título: Metodos de ordenacion - Pascal
Publicado por: M33RK4T en 30 Abril 2012, 06:58 am
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
  1.  
  2. Program inserci;
  3.    uses
  4.       crt;
  5.    const
  6.       N = 15;
  7.    var
  8.       OTRO : string;
  9.       HACER : boolean;
  10.       I, J, D, CANT, ACTUAL : integer;
  11.       A : array [0..N] of integer;
  12.    begin
  13.    clrscr;
  14.    HACER := true;
  15.    While HACER = true do
  16.    begin
  17.       write('Ingrese la cantidad de numeros a ordenar ');
  18.       readln(cant);
  19.       randomize;
  20.       A[0]:= -32768;
  21.       for i := 1 to CANT do
  22.          begin
  23.          a[i] := random(300);
  24.          writeln('a [',i:2,'] = ', a[i]:3);
  25.          end;
  26.       I:= 1;
  27.       while (A [I] < A [I+1]) and (I < CANT) do
  28.          I:= I+1;
  29.       if I = CANT then
  30.          break;
  31.       For I:= 2 to CANT do
  32.          begin
  33.          J:= I-1;
  34.          ACTUAL:= A[I];
  35.          While A [J] > ACTUAL do
  36.             J:= J-1;
  37.          for D:=I  downto J+1 do
  38.             A[D]:= A[D-1];
  39.          A[J+1]:= ACTUAL;
  40.          end;
  41.  
  42.       writeln;
  43.       for I:= 1 to CANT do
  44.          writeln('A',I,' = ',A[I]);
  45.    readkey;
  46.    clrscr;
  47.    write ('Quiere ordenar otro arreglo?');
  48.    readln(OTRO);
  49.    if (OTRO = 's') or (OTRO = 'y') then
  50.       HACER:= true
  51.    else
  52.       HACER:= false;
  53.    readkey;
  54.    end;
  55.    End.
  56.  

Perdon si no es el sitio adecuado del foro.