Найти сумму элементов матрицы, лежащих выше главной диагонали - Free Pascal
Формулировка задачи:
Задать и распечатать массив 10×10,состоящий из целых случайных чисел в интервале [1..100]. Найти сумму элементов,лежащих выше главной диагонали.
Решение задачи: «Найти сумму элементов матрицы, лежащих выше главной диагонали»
textual
Листинг программы
const n=10;
var
a:array[1..n,1..n] of integer;
i,j,s:integer;
begin
Writeln(' Введите массив ',n,'x',n,':');
for i:=1 to n do begin
Write('Строка ',i:2,':');
for j:=1 to n do read(a[i,j]);
end;
s:=0;
for i:=1 to n do for j:=i+1 to n do s:=s+a[i,j];
writeln('S=',s);
end.
Объяснение кода листинга программы
- Объявляются переменные: — n — размерность матрицы (в данном случае 10); — a — массив, в котором будет храниться исходная матрица; — i, j, s — вспомогательные переменные для выполнения задачи.
- Выводится сообщение с приглашением ввести матрицу.
- В цикле (for) с шагом 1 до n (размерности матрицы) происходит следующее: — выводится приглашение для ввода элементов строки (Writeln('Строка ',i:2,':')); — в цикле (for) с шагом 1 до n (размерности матрицы) происходит чтение элементов строки (read(a[i,j])).
- После ввода всех элементов матрицы, в переменной s инициализируется значение суммы.
- В цикле (for) с шагом 1 до n (размерности матрицы) для каждой строки, начиная со второй, происходит следующее: — при помощи условия i <= j проверяется, что элемент находится выше главной диагонали; — если условие выполняется, то к сумме s прибавляется значение элемента a[i,j].
- Выводится значение суммы.