end;
S:= 0;
for i: = 1 to n do
S:= S + b[i,i];
write(' сумма элементов диагонали таблицы S = ' , S)
end.
2. Нахождение наибольших элементов каждой строки таблицы.
Каждую строку таблицы можно рассматривать, как одномерный массив, и использовать идею нахождения наибольшего значения в программе Е13. Найденные значения будем помещать в одномерный массив. В программе Е17 для каждой строки таблицы переменная a [ i ] играет такую же роль, как переменная max в программе Е13. Для каждой строки (ее задает переменная i) элемент a [ i ] получает значение первого элемента строки. Затем внутренний цикл по переменной j позволяет просмотреть все элементы данной строки и, если среди них встретится элемент, значение которого больше, чем запомненное в a [ i ], то оно присваивается a [ i ]. Для распечатки результатов работы программы — массива a — используется цикл. Имеющийся в программе комментарий, заключенный в фигурные скобки, позволяет при чтении программы выделить основную ее часть.
Пример выполнения программы Е17 — нахождение наибольших элементов строк:
| Массив результатов
| Данная таблица
|
| a[1]
|
|
|
|
|
| a[2]
|
|
|
|
|
| a[3]
|
|
| -3
|
|
programE17;
const n = 3;
var b: array [1 .. n, 1 .. n ] of integer; i, j: integer; a: array [1 .. n ] of integer;
Begin
writeln('введите значения элементов таблицы по строкам');
writeln('в конце каждой строки нажимайте <Enter> ');
fori: = 1 to n do
Begin
for j: = 1 to n do
read (b [ i, j ]);