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
Stránky: 1
ahoj, chtěl bych vás poprosti o radu.
mám matici n x n a mám napsat program na otoceni matice o 90 stupnu...
umim udelat transponovanou matici, tam se prohodi radky za sloupce, ale nevim jak otocit matici o 90 stupnu doprava?
Děkuji za rady :)
var
Application: TMyApplication;
i,j:integer;
mat1:array[1..10,1..10] of integer;
mat2:array[1..10,1..10] of integer;
begin
writeln('Matice');
randomize;
for i:=1 to 10 do begin
for j:=1 to 10 do
mat1[i,j]:=random(10);//nahodna cisla z intervalu(0-9)
end;
for i:=1 to 10 do begin
for j:=1 to 10 do
write(mat1[i,j]:3);
writeln;
end;
for i:=1 to 10 do begin
for j:=1 to 10 do
mat2[i,j]:=mat1[j,i];
end;
writeln;
writeln('****-transponovana matice-****');
for i:=1 to 10 do begin
for j:=1 to 10 do
write(mat2[i,j]:3);
writeln;
end;
readln;
end.
Offline
Mrkni se na
http://stackoverflow.com/questions/4251 … onal-array
inspirativní mi přijde hned druhá odpověď která uvádí obě rotace o 90, i o 180. Neboli pokud máš funkci na transpozici, máš už půl práce vyřešeno :-)
Offline
To nemusíš být, podle toho co tam čtu, jde o transpozici matice (tu už máš) a pak jen obrátit buď sloupce nebo řádky. Nicméně myslím že to je i tak složité; otočení matice lze udělat jedním dvojitým cyklem podle prostého pravidla: podrž si před očima ruku s prsty nataženými nahoru. To jsou sloupce matice. No, a pak ruku otoč doprava. Ze sloupců se stanou řádky.
Lepší než opsat je to pochopit, ale kdyžtak mrkni níže.
Offline
Stránky: 1