Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- type vetor = array[1..10] of integer;
- var
- vet1,vet2,vet3 : vetor;
- I: Integer;
- procedure imprimir_vetor( var A: vetor; mensagem: string);
- var i : integer;
- begin
- writeln(mensagem);
- for I:=Low(A) to High(A) do
- writeln(a[i]);
- writeln('fim');
- end;
- procedure QuickSort(var vet1: vetor; LimiteInferior, LimiteSuperior: Integer);
- var
- i, j, pivo, T: Integer;
- begin
- i := limiteInferior;
- j := limiteSuperior;
- pivo := vet1[(j+i) div 2];
- repeat
- while vet1[i] < pivo do Inc(i);
- while vet1[j] > pivo do Dec(j);
- if i <= j then
- begin
- T := vet1[i];
- vet1[i] := vet1[j];
- vet1[j] := T;
- Inc(i);
- Dec(j);
- end;
- until i > j;
- if j > limiteInferior then QuickSort(vet1, limiteinferior, j);
- if i < limiteSuperior then QuickSort(vet1, i, limiteSuperior);
- end;
- procedure BubbleSort (var vet2: vetor);
- var I,J,aux: integer;
- begin
- for I:= High(vet2) downto 2 do
- for J:=1 to I-1 do
- if vet2[J] > vet2[J+1] then
- begin
- aux := vet2[J];
- vet2[J] := vet2[J+1];
- vet2[J+1] := aux;
- end;
- end;
- procedure preencher_vetor(var A,B,C:vetor);
- begin
- randomize;
- for I:=Low(vet1) to High(vet1) do
- begin
- vet1[I]:= Random(1000);
- vet2[I]:= vet1[I] ;
- vet3[I]:= vet1[I] ;
- end;
- end;
- procedure SelectionSort (var vet3: vetor);
- var k, j, i,aux,min :integer;
- begin
- for i:= 1 to 6 do
- begin
- k := i + 1;
- min := i;
- for j := k to 7 do
- begin
- if (vet3[j] < vet3[min]) then
- min := j;
- end;
- aux := vet3[i];
- vet3[i]:= vet3[min];
- vet3[min] := aux;
- end;
- end;
- begin
- preencher_vetor(vet1,vet2,vet3);
- imprimir_vetor(vet3, 'Vetor desordenado:');
- writeln;
- // QuickSort(vet1, Low(vet1), High(vet1));
- //BubbleSort(vet2);
- SelectionSort(vet3);
- imprimir_vetor(vet3, 'Vetor ordenado:');
- readln;
- end.
Add Comment
Please, Sign In to add comment