главная диагональ --- это набор элементов с координатами (индексами) (i,i), где i∈[1, n]. n -- размерность матрицы, а вот как быть с транспонированием, например, трёхмерной матрицы? какой смысл оно имеет в этом случае? как составить условие обмена элементов? примечание: вообще состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: -- данный код для двумерной матрицы копирует одну её половину (если резать по диагонали) на вторую, при этом комплексно сопрягая элементы. а точнее -- в этом коде непонятно только условие обмена новое -то есть какие координаты поставить: если очередной matrixelement (в эту переменную получаем очередной элемент матрицы) имеет набор координат (x,).
a: integer; //a - вводимое число
n, s: integer; //n- количество введенных чисел, s - сумма этих чисел
begin
n:= 0; //обнуляем счетчик
s:= 0;
a:= 1; {присваиваем значение, отличное от нуля, чтобы цикл не завершился, не начавшись}
while a <> 0 do
begin
writeln('Введите целое число');
readln(a);
if a <> 0 then //Чтобы при подсчете среднего арифметического не учитывался 0
begin
n:= n + 1;
s:= s + a;
end;
end;
writeln('Среднее арифметическое введенных чисел: ', s / n);
end.