{program demonstrujici trideni primym vyberem} program Sort; const DelkaPole=10; type Pole=array[1..DelkaPole] of integer; var data:Pole; procedure zobraz(data:Pole); var i:integer; begin write('['); for i:=1 to DelkaPole do write(data[i],' '); writeln(']'); end; {procedura PrimyVyber se vola jako PrimyVyber(data);} procedure PrimyVyber(var data:Pole); var i,j,zatimNejvetsi,indexZatimNejvetsiho:integer; begin {opakujeme tak dlouho, dokud nedorazime na konec} for i:=1 to DelkaPole do begin {najdeme nejvetsi a jeho index} zatimNejvetsi:=data[i]; for j:=i to DelkaPole do begin if data[j]>zatimNejvetsi then begin zatimNejvetsi:=data[j]; indexZatimNejvetsiho:=j; end; end; {nyni mame nejvetsi a jeho index, zaradime ho na zacatek} {tedy prohodime s cislem na pozici i, a pokracujeme uz jen se zbylymi} data[indexZatimNejvetsiho]:=data[i]; data[i]:=zatimNejvetsi; end; end; begin data[1]:=7; data[2]:=3; data[3]:=2; data[4]:=5; data[5]:=6; data[6]:=8; data[7]:=9; data[8]:=0; data[9]:=4; data[10]:=1; writeln; zobraz(data); PrimyVyber(data); zobraz(data); readln; end.