Задана матрица A (n, n) действительных чисел. "Перевернуть" в ней главную и побочную диагонали (переписать цифры в обратном порядке).
Чтобы у матрицы были диагонали, она должна быть квадратной, т.е. n = m.
Элементы главной диагонали имеют индекс [i,i]. Побочной [i,n-i+1].
Для того, чтобы "перевернуть" диагонали, не надо перебирать всю матрицу. Достаточно перебрать половину
const n = 5; var arr: array[1..n,1..n] of real; i,j: byte; a: real; begin randomize; for i:=1 to n do begin for j:=1 to n do begin arr[i,j] := random(); write(arr[i,j]:4:1); end; writeln; end; writeln; for i:=1 to n div 2 do for j:=1 to n div 2 do if i = j then begin a := arr[i,j]; arr[i,j] := arr[n-i+1,n-j+1]; arr[n-i+1,n-j+1] := a; end; for i:= (n div 2)+1 to n do for j:=1 to n div 2 do if j = n-i+1 then begin a := arr[i,j]; arr[i,j] := arr[j,i]; arr[j,i] := a; end; for i:=1 to n do begin for j:=1 to n do write(arr[i,j]:4:1); writeln; end; readln; end.
Последние комментарии
1 день 10 часов назад
1 день 17 часов назад
1 день 23 часа назад
3 дня 6 часов назад
6 дней 1 час назад
6 дней 2 часа назад
1 неделя 1 час назад
1 неделя 1 день назад
1 неделя 1 день назад
1 неделя 1 день назад