LordKusa

Ordenar vector

Aug 22nd, 2019
109
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program ordenamiento;
  2.  
  3. uses
  4.     crt, dos;
  5.    
  6. type
  7.     vector = array [1..30000] of integer;
  8.    
  9. var
  10.     X:vector;
  11.     programa:boolean;
  12.     opcion:integer;
  13.    
  14.    
  15. procedure carga(var X:vector);
  16.  
  17.     var
  18.         I:Integer;
  19.  
  20.     begin
  21.    
  22.         Randomize;
  23.        
  24.         For I := 1 to Length(X) do
  25.        
  26.             X[I] := Random(30000);
  27.    
  28.     end;
  29.    
  30. procedure mostrar(X:vector);
  31.  
  32.     var
  33.         I:Integer;
  34.  
  35.     begin
  36.    
  37.         For I := 1 to Length(X) do
  38.        
  39.                 write(X[I], ' ');
  40.                
  41.         writeln('');
  42.    
  43.     end;
  44.    
  45. procedure ordenamiento(var X:vector);
  46.  
  47.     var
  48.         I, J, aux:integer;
  49.         hour1, min1, sec1, hsec1, hour2, min2, sec2, hsec2, hour, min, sec, hsec:word;
  50.        
  51.     begin
  52.        
  53.         writeln('Cargando vector...');
  54.        
  55.         gettime(hour1, min1, sec1, hsec1);
  56.        
  57.         For J := 1 to Length(X) do
  58.    
  59.             For I := 2 to Length(X) do 
  60.                
  61.                 begin
  62.            
  63.                     If (X[I] < X[I-1]) then
  64.                        
  65.                         begin
  66.                        
  67.                             aux := X[I-1];
  68.                             X[I-1] := X[I];
  69.                             X[I] := aux;
  70.                    
  71.                         end;
  72.                            
  73.                 end;
  74.                
  75.         gettime(hour2, min2, sec2, hsec2);
  76.         hour := hour2-hour1;
  77.         min := min2-min1;
  78.         sec := sec2-sec1;
  79.         hsec := hsec2-hsec1;
  80.         writeln('Vector ordenado en ', hour, ':', min, ':', sec, ':', hsec);
  81.         readkey;
  82.    
  83.     end;
  84.  
  85. begin
  86.  
  87.     programa := true;
  88.    
  89.     carga(X);
  90.     writeln('Vector cargado');
  91.     readkey;
  92.    
  93.     while(programa)do
  94.         begin
  95.            
  96.             writeln('1. Ordenar vector');
  97.             writeln('2. Mostrar vector');
  98.             writeln('0. Cerrar programa');
  99.             readln(opcion);
  100.            
  101.             case opcion of
  102.            
  103.                 1: ordenamiento(X);
  104.                 2: mostrar(X);
  105.                 0: programa := false;
  106.            
  107.             end;
  108.            
  109.         end;
  110.    
  111. end.
RAW Paste Data