Prosím o radu :)
mám za úkol : Setřiďte sloupce vzestupně podle hodnot v prvním řádku a vytiskněte novou matici.
Můj výtvor bohužel dokáže řadit místo sloupců řádky, a nevím co pozměnit aby to fungovalo správně
procedure setridRadky(Sender: TObject); {procedura setrid radky v matici podle nejvetsiho prvku v radku (pouzit algoritmus bubble sort}
var
max, max2, helper: integer;
done: boolean;
begin
repeat {opakuj dokud done=true}
done:= true;
for i:=1 to m-1 do {prochazeni radku} // j a n jsou sloupce
begin
max:= 0;
max2:= 0;
for j:=1 to n do {projdeme kazdy prvek z radku i a i+ a urcime jejich max hodnotu (max, max1)}
begin
if a[i,j] > max then
max:= a[i,j];
if a[i+1,j] > max2 then
max2:= a[i+1,j];
end; {na konci cyklu mame pozadovane maximalni hodnoty}
if max > max2 then {pokud je max > max2, tak prehodime radky (prehodime a[i,j] za a[i+1,j])}
begin
for j:=1 to n do
begin
helper:= a[i,j];
a[i,j]:= a[i+1,j];
a[i+1,j]:= helper;
done:= false;
end;
end;
end;
until done; {konec repeat (pokracujeme dokud nemame setrizeno)}
end;
.
.
.
procedure TForm1.razeniClick(Sender: TObject);
begin
setridRadky(Sender); {Zavola proceduru setridRadky ktera setridi matici}
vypisMatici(sg, a); {Vypiseme setrizenou matici}
end;