program sortacaosortida;

uses crt;

var numba: array [0 .. 10] of integer;
    num: array [0 .. 10] of integer;
    a,x:integer;
    sort: boolean;

begin
     randomize;
     for a:=0 to 10 do numba[a]:=random(200);

     {ora portantos temos 11 numeros com valores entre 0 e 199}

      for a:=0 to 10 do num[a]:=a;

     {num nao contem o maior valor mas aonde o maior valor esta!!!}

     sort:=false;

     repeat
      sort:=true;
      for a:=1 to 10 do
         begin
              if numba[num[a-1]]>numba[num[a]] then
              begin
                   x:=num[a-1];
                   num[a-1]:=num[a];
                   num[a]:=x;
                   sort:=false;
              end;
         end;

      if numba[num[0]]>numba[num[1]] then
              begin
                   x:=num[0];
                   num[0]:=num[1];
                   num[1]:=x;
                   sort:=false;
              end;

     until sort=true;

     {o q isto faz e repetir ate q consiga loopar sem erros!
      de cada vez q loopa bamos vericar de 1 ate 10 se o numero menor e
      mesmo menor... senao troca... depois temos o especial 0 e 1.
      e um bocado dificil arranjar o num[-1] por isso nao podemos meter
      tudo num so loop!}

     clrscr;
     for a:=0 to 10 do writeln(numba[a],' ',numba[num[a]],' ',num[a]);
     readkey;

     {numeros como foram dados,numeros sortidos,numero dos numeros sortidos}

     {se repearares o q importa na pratica e o numero do numero e nao o
     numero em si... agora e so adaptares... eu acho q ja tinha feito isto
     prai na aula de PC ou o cara‡as... bahaha os meus colegas a tentar tirar
     um 9 e meio para passar e eu a fazer sito pelo gozo! :) ick! 4:30!}
end.