• Viernes 15 de Noviembre de 2024, 07:55

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Geo_Jervin

Páginas: [1]
1
Pascal / Re: Ordenacion QuickSort
« en: Miércoles 15 de Abril de 2009, 06:49 »
Gracias, Tenes razón con respecto al error si era ese y voy a tomar tu consejo con respecto a los procedimientos

2
Pascal / Ordenacion QuickSort
« en: Martes 14 de Abril de 2009, 02:57 »
Este es el código el problema es que me da error en la parte acentral y no se porque razón

Código: Pascal
  1.  
  2. Program Quicksort;
  3. uses crt;
  4. type
  5.     vector=array [1..10] of integer;
  6. const
  7.      lista:vector=(8,5,6,3,1,4,2,7,10,9);
  8. var
  9.    k:integer;
  10.    longitud:integer;
  11.  
  12. procedure rapido (var a:vector;n:integer);
  13.     procedure partir (primero,ultimo :integer);
  14.     var
  15.        i,j,central:integer;
  16.        procedure intercambiar (var m,n:integer);
  17.        var
  18.           aux:integer;
  19.        begin
  20.             aux:=m;
  21.             M:=n;
  22.             N:=aux;
  23.        end;
  24.     begin
  25.          i:=primero;
  26.          j:=ultimo;
  27.          central:=a[(primero+ultimo) div 2];
  28.          repeat
  29.                while a[i]central do {Aqui es donde me da el error en a[i]central}
  30.                                   j:=j-1;
  31.                if i<=j then
  32.                        begin
  33.                             intercambiar (a[i],a[j]);
  34.                             i:=i+1;
  35.                             j:=j-1;
  36.                        end;
  37.          until i>j;
  38.          if primero<j then
  39.                       partir(primero,j);
  40.          if i<ultimo then
  41.                      partir(i,ultimo);
  42.     end;
  43. begin
  44.      partir (1,n);
  45. end;
  46. begin
  47.      clrscr;
  48.      k:=0;
  49.      write ('Este es el vector original: ');
  50.      repeat
  51.            begin
  52.                 write (lista[k],' ');
  53.                 k:=k+1;
  54.            end;
  55.      until k=11;
  56.      writeln;
  57.      rapido (lista,10);
  58.      k:=0;
  59.      write ('Este es el vector ordenado: ');
  60.      repeat
  61.            begin
  62.                 write (lista[k],' ');
  63.                 k:=k+1;
  64.            end;
  65.      until k=11;
  66.      readln;
  67. end.
  68.  
  69.  

Espero que me puedan ayudar

Páginas: [1]