главная диагональ --- это набор элементов с координатами (индексами) (i,i), где i∈[1, n]. n -- размерность матрицы, а вот как быть с транспонированием, например, трёхмерной матрицы? какой смысл оно имеет в этом случае? как составить условие обмена элементов? примечание: вообще состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: -- данный код для двумерной матрицы копирует одну её половину (если резать по диагонали) на вторую, при этом комплексно сопрягая элементы. а точнее -- в этом коде непонятно только условие обмена новое -то есть какие координаты поставить: если очередной matrixelement (в эту переменную получаем очередной элемент матрицы) имеет набор координат (x,).
var a:array[1..10,1..10]of integer; b:array[1..10,1..10]of integer; i,j,s1,s2:integer; begin for i:=1 to 10 do for j:=1 to 10 do begin a[i,j]:=random(9)+1; b[i,j]:=random(9)+1; end; for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j],' '); if j=10 then writeln; end; writeln; for i:=1 to 10 do begin for j:=1 to 10 do write(b[i,j],' '); if j=10 then writeln; end; for i:=1 to 10 do for j:=1 to 10 do if i=j then begin s1:=s1+a[i,j]; s2:=s2+b[i,j]; end; writeln; if s1>s2 then for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j],' '); if j=10 then writeln; end else for i:=1 to 10 do begin for j:=1 to 10 do write(b[i,j],' '); if j=10 then writeln; end; end.
главная диагональ --- это набор элементов с координатами (индексами) (i,i), где i∈[1, n]. n -- размерность матрицы, а вот как быть с транспонированием, например, трёхмерной матрицы? какой смысл оно имеет в этом случае? как составить условие обмена элементов? примечание: вообще состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: -- данный код для двумерной матрицы копирует одну её половину (если резать по диагонали) на вторую, при этом комплексно сопрягая элементы. а точнее -- в этом коде непонятно только условие обмена новое -то есть какие координаты поставить: если очередной matrixelement (в эту переменную получаем очередной элемент матрицы) имеет набор координат (x,).
var a:array[1..10,1..10]of integer;
b:array[1..10,1..10]of integer;
i,j,s1,s2:integer;
begin
for i:=1 to 10 do for j:=1 to 10 do begin a[i,j]:=random(9)+1; b[i,j]:=random(9)+1; end;
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j],' '); if j=10 then writeln; end;
writeln;
for i:=1 to 10 do begin for j:=1 to 10 do write(b[i,j],' '); if j=10 then writeln; end;
for i:=1 to 10 do
for j:=1 to 10 do
if i=j then begin
s1:=s1+a[i,j];
s2:=s2+b[i,j];
end;
writeln;
if s1>s2 then for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j],' '); if j=10 then writeln; end else
for i:=1 to 10 do begin for j:=1 to 10 do write(b[i,j],' '); if j=10 then writeln; end;
end.