Matrix82. Дана квадратная матрица $$A$$ порядка $$M$$. Найти сумму элементов каждой ее диагонали, параллельной главной (начиная с одноэлементной диагонали $$A_{1,M}$$).
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
program Matrix82; type matrix = array [1..10,1..10] of integer; var a:matrix; Sum,M, i, j:Integer; 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-1 do begin Sum:=0; for i:=1 to j do begin Sum:=Sum+a[i,M-(j-i)]; end; Writeln(Sum); end; for j:=M-1 downto 1 do begin Sum:=0; for i:=1 to j do begin Sum:=Sum+a[M-(j-i),i]; end; Writeln(Sum); end; end. |
Другие задачи из раздела Matrix можно посмотреть здесь.
суммы центральной диагонали не хватает. лечится путем добавления одной итерации внешнего цикла либо к обработке первой половины либо второй.
(либо for j:=1 to M do либо for j:=M downto 1 do, (а не М-1))