Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobrý den mám zadaný ukol:Sestavte proceduru pro seřazení N-prvkové posloupnosti reálných čísel do nerostoucí
posloupnosti a použijte ji pro řešení následující úlohy: Je dána matice typu M*N (M<20, N<20)
s reálnými prvky. Seřaďte prvky ve všech jejích řádcích sestupně a takto vzniklou matici
vytiskněte. Program ověřte pro vhodně zvolenou matici řádu 5.
Zkoušel jsem zadani vypracovat ale program nefunguje procedury mi moc nejdou děkuji za pomoc :)
type
matice=array[1..20,1..20] of real;
procedure serazenisestupne(var p:real;a:matice);
var
i,n,j:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i,j]<a[j,i] then
begin
p:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=p;
end;
end;
procedure Tisk(var vystup:text;n:integer;a:matice);
var i,j:integer;
begin
writeln(vystup);
for i:=1 to n do
begin
for j:=1 to n do write(vystup,a[i,j]:3);
writeln(vystup);
end;
writeln(vystup);
end;
var
n,i,j,m:Integer;
vstup,vystup:text;
a:matice;
begin
assign(vstup,'Prog3vst.txt');
assign(vystup,'Prog3vys.txt');
reset(vstup);
rewrite(vystup);
readln(vstup,n);
for i:=1 to n do
for j:=1 to n do read(vstup,a[i,j]);
writeln(vystup,'zadana matice');
Tisk(vystup,n,a);
serazenisestupne;
writeln(vystup,'matice serazena sestupne');
close(vstup);
close(vystup);
end.
Offline
ahoj ↑ kuba12345:,
algoritmus na seřazení čísel podle velikosti máš špatně. Těchto algoritmů je celá řada, doporučuji vygooglovat bubblesort - je jednoduchý, sice pomalý, ale při tomto počtu čísel to nevadí.
Offline