главная диагональ --- это набор элементов с координатами (индексами) (i,i), где i∈[1, n]. n -- размерность матрицы, а вот как быть с транспонированием, например, трёхмерной матрицы? какой смысл оно имеет в этом случае? как составить условие обмена элементов? примечание: вообще состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: -- данный код для двумерной матрицы копирует одну её половину (если резать по диагонали) на вторую, при этом комплексно сопрягая элементы. а точнее -- в этом коде непонятно только условие обмена новое -то есть какие координаты поставить: если очередной matrixelement (в эту переменную получаем очередной элемент матрицы) имеет набор координат (x,).
(см. объяснение)
Объяснение:
program task;
var i: integer;
const N=5;
procedure writeOut(i: integer);
begin
if(i<N) then write(', ')
else writeln('.');
end;
begin
if(N<1) then begin writeln('N>0 и целое!'); exit; end;
writeln('ЦИКЛ FOR:');
for i:= 1 to N
do begin
write(i); writeOut(i);
end;
writeln;
writeln('ЦИКЛ WHILE:');
i:= 1;
while(i<N+1)
do begin
write(i); writeOut(i);
i:= i+1;
end;
writeln;
writeln('ЦИКЛ REPEAT:');
i:= 1;
repeat
write(i); writeOut(i);
i:= i+1;
until i=N+1;
end.
Значит для угадывания числа из этого промежутка необходимо 7 бит