Ahoj lidi, d?v?m sem k?d jedn? procedury. M? ud?lat to, ?e na?te matici ze souboru, a se?ad? ??dky podle celkov?ho sou?tu. Ud?lal sem to tak, ?e sem si vytvo?il pomocnou matici, kde sem p?idal na konec ka?d?ho ??dku je?t? 1 prvek (sou?ty) a podle toho to se?adil. ovšem nevím pro?, p?i zad?n? po?tu ??dk? a sloupc? matice 2,2 to p?i se?azen? uk??e na prvn?m ??dku oba prvky 0 0, p?i 3,3 to uk??e 12336, 12336, nebo podobn? ??sla a jinak p?i jinejch zad?n?ch to funguje bez probl?m?. V ?em by moh bejt zakopanej pes ? :( D?kuju moc za odpov?di.
procedure setrid(a,b:integer); { Procedura pro serazeni radku matice
dle souctu vzestupne }
var f,g,h,i,j,k,l:integer; { Lokalni promenne procedury }
soubor :text;
p :array [1..10, 1..11] of integer;{ Definovani pole }
pp :array [1..11] of integer; { Def. pomocneho pole}
begin
assign(soubor,'vysledky.pas');
reset(soubor);
f:=0;
for g:=1 to a do
begin { Nacitani prvku }
for i:=1 to b do
begin
read(soubor,h);
f:=f+h; { Scitani prvku }
p[g,i]:=h;
end;
p[g,b+1]:=f; { Zapis sou?tu prvk? do posledn?ho prvku matice }
readln(soubor);
f:=0;
end;
for l:=1 to a do
begin
for g:=1 to a do
begin
if p[g,b+1]>p[g+1,b+1] then { Porovnavani radku }
begin
for i:=1 to b+1 do
begin { Premisteni radku s mensim souctem nad radek
s vetsim souctem pomoci pomocneho pole }
pp[i]:=p[g,i];
p[g,i]:=p[g+1,i];
p[g+1,i]:=pp[i];
end;
end;
end;
end;
writeln;
writeln;
for g:=1 to a do
begin
for i:=1 to b do
begin
write(' ',p[g,i]);
end;
write(' Soucet je: ',p[g,b+1]);
writeln;
end;
close(soubor);
end;