segunda-feira, 13 de junho de 2011

Vetor ordem crescente

Program Pzim ;
{recebe 10 numeros inteiros e ordena de forma crescente}
var
vet:array[1..10] of integer;
aux,i,j:integer;

 Begin
 aux:=0;
  for i:=1 to 10 do
  begin
  writeln('Preencha o vetor de 10 posições : ');
  read(vet[i]);
  end;
 

 
  for i := 10 downto 2 do              {faz o for com i de 10 até 2, decrementando, isto é 10, 9, 8, ...}
  begin
  for j := 1 to i-1 do         {faz o for com j de 1 até a posição atual do i menos 1}
  begin
  if vet[j] > vet[j+1] then {se vet, na posição j, for maior que vet na posição j+1, faça}
  begin
  aux := vet[j]; {a var aux, recebe o valor de vet na posição j}
  vet[j] := vet[j+1]; {vet na posição j, recebe o valor de vet na posição seguinte, que seria j + 1}
  vet[j+1] := aux; {e vet na posição j mais 1, recebe o valor que está na var aux, que era o valor de vet na posição j}
  end;                     {resumindo, se o valor na posição vet[j] for maior que}
end;                               {o valor na posição vet[j+1], ele faz a troca desses valores}
end;                                         {a função desse programa é ordenar um vetor }
                                            {seria o seguinte:}
                                                  {preencha um vetor de 10 posições ´com numeros inteiros}
                                                  {e depois ordene de forma crescente}
    for i:=1 to 10 do
    begin
    writeln(vet[i]);
    end;

end.