Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Поворот матрицы


Автор: DeeCee 5.12.2007, 00:59
Как тут быть?
Дана матрица размера n*n. Развернуть ее на 90°, на 180°, на 270°. Сосчитать сумму элементов главной диагонали всех матриц и найти их определители

Автор: Ripper 5.12.2007, 07:56
С определителями конечно жестко. Где-то наверняка есть алгоритм. Подсчитать сумму элементов легко
Поворот сразу нашел в поисковике smile
Код

 procedure RotateCV;
 var 
   i,j:integer;
   hlp:matrix;
 begin
   for i := 1 to n do
     for j := 1 to n do
       hlp[j, n - i + 1] := a[i, j];
   for i := 1 to n do
     for j := 1 to n do
       a[i,j] := hlp[i,j];
 end;
 procedure RotateCCV;
 var 
   i,j:integer;
   hlp:matrix;
 begin
   for i := 1 to n do
     for j := 1 to n do
       hlp[n - i + 1,j] := a[i, j];
   for i := 1 to n do
     for j := 1 to n do
       a[i,j] := hlp[i,j];
 end;

Остальные сам сделаешь. ну 270 это тоже что 3 раза по 90 smile
Вот ссылки для определителя: http://www.dore.ru/perl/nntp.pl?f=1&gid=14&mid=15321
http://forum.pascal.net.ru/index.php?showtopic=2694&st=0&p=23475

Автор: DeeCee 5.12.2007, 11:17
Спасибо, сейчас попробую smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)