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


Автор: DeeCee 29.11.2007, 21:32
Помогите пожалуйста посчитать матрицу. Дана матрица размера n*n. Развернуть ее на 90°, на 180°, на 270°. Сосчитать сумму элементов главной диагонали всех матриц и найти их определители

Автор: APM 29.11.2007, 21:39
Задача по программированию или по математике? Если по программированию, то укажите хотя бы язык

Автор: 0lmer 30.11.2007, 17:06
попробуй считать определитель с помощью рекурсии.
У меня где то валялась прога по матрицам на С,  если найду - скину.

кстати вот:
http://forum.vingrad.ru/forum/topic-37776.html#

Автор: Rodman 1.12.2007, 13:54

M
Rodman
Модератор: Название темы должно отражать ее суть!

Автор: DrWeb 1.12.2007, 15:16
Вот тебе код на паскале(повернули матрицу на 90 градусов).Остальны сам думаю додумаешься;)

Код

uses crt;

const n=5; 

var 
massiv:array[1..n,1..n] of integer; 
res:array[1..n,1..n] of integer; 
row,column,exchange,diagonal:integer; 
begin 
Randomize; 
 {заполняем массив случайным образом и показываем его на экране }
 writeln('исходный массив'); 
 for row:=1 to n do begin 
  for column:=1 to n do begin 
  massiv[row,column]:=random(100); 
  write(' ',massiv[row,column]:2); 
  end; 
  writeln; 
 end; 

 {переставляем строки местами }
for row:=1 to n do begin 
 for column:=1 to n do begin 

{если поворачивать против часовой стрелки то вот такой вариант :}
{res[column,row]:=massiv[row,n-column+1]; }
  res[column,n-row+1]:=massiv[row,column]; 
 end; 
end; 

 writeln; 
{выводим результат }
 writeln('Повернули на 90 градусов по часовой стрелке'); 
 for row:=1 to n do begin 
  for column:=1 to n do begin 
  write(' ',res[row,column]:2); 
  end; 
  writeln; 
 end; 

 readln; 

end.

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