Есть ответ 👍

преобразовать с Паскаля на питон, заранее program Matrix96;
type
matrix = array [1..10,1..10] of integer;

var
a:matrix;
M, i, j:Integer;

procedure Swap(var X,Y:Integer);
begin
if x<>y then
begin
X:=X+Y;
Y:=X-Y;
X:=X-Y;
end;
end;

begin

Write('M: ');
Readln(M);
for j:=1 to M do
begin
writeln(j,': ');
for i:=1 to M do
begin
Write(i,' : ');
Read(a[i,j]);
end;
end;
//выводится матрица
for j:=1 to M do
begin
for i:=1 to M do
begin
Write(' : ',a[i,j]);
end;
Writeln(' : ');
end;
Writeln('');
//отражаем относительно главной диагонали
for i:=2 to M do
for j:=1 to i do
Swap(a[i,j],a[j,i]);

//отображаем изменённую матрицу
for j:=1 to M do
begin
for i:=1 to M do
begin
Write(' : ',a[i,j]);
end;
Writeln(' : ');
end;
end.

123
491
Посмотреть ответы 1

Ответы на вопрос:

tdemon
4,5(44 оценок)

Это алгоритм построения магического квадрата нечетного порядка магическая константа (сумма числе по строке, столбцу или диагоналям) может быть найдена по формуле баше де мезириака: ниже программа на языке pascal.abc. const   k = 29; var   m, n, i, j: integer;   a: array[1..k, 1..k] of integer; procedure rule_f; begin   if (i = 0) and (j = n + 1) then begin       i : = 2;       j : = n   end   else begin       if i = 0 then i : = n;       if j = n + 1 then j : = 1   end;   if a[i, j] < > 0 then   begin       i : = i + 2;       j : = j - 1;       rule_f   end   else       a[i, j] : = m end; procedure rule_b; begin   i : = i - 1;   j : = j + 1 end; begin   write('введите целое нечетное число не меньше, чем 3: ');   readln(n);   if (n mod 2) = 0 then writeln('ошибка: вы ввели четное число.')   else if n < 3 then writeln('ошибка: число должно быть не меньше трех.')   else   begin       for i : = 1 to n do           for j : = 1 to n do               a[j, j] : = 0;       i : = 1;       j : = (n + 1) div 2;       a[i, j] : = 1;       for m : = 2 to sqr(n) do       begin           rule_b;           rule_f       end;       writeln('магический квадрат порядка ', n, ' с магической константой ',           (n * (sqr(n) + 1)) div 2);       for i : = 1 to n do       begin           for j : = 1 to n do write(a[i, j]: 4);           writeln       end   end end. тестовое решение: введите целое нечетное число не меньше, чем 3: 5 магический квадрат порядка 5 с магической константой 65   17  24    1    8  15   23    5    7  14  16     4    6  13  20  22   10  12  19  21    3   11  18  25    2    9

Популярно: Информатика