Вычислить сумму элементов в каждой строке матрицы a[n, n], с использованием функций и процедур - Pascal ABC
Формулировка задачи:
как вычислить сумму элементов в каждой строке матрицы a[n, n], с использованием функций и процедур?
Решение задачи: «Вычислить сумму элементов в каждой строке матрицы a[n, n], с использованием функций и процедур»
textual
Листинг программы
type
Matrix = array [1..100, 1..100] of integer;
var
a: matrix;
n, i, j: byte;
sum: integer;
procedure su(var x: matrix);
var
q, w, sum: integer;
begin
for q := 1 to n do
begin
for w := 1 to n do
if x[q, w] >= 0 then
sum := sum + a[q, w];
writeln('sum of ', q, '=', sum);
sum := 0;
end;
end;
begin
Writeln('Введите размерность матрицы:');
Readln(n);
for i := 1 to n do {ввод матрицы a}
for j := 1 to n do
a[i, j] := random(20) - 10;
for i := 1 to n do {вывод матрицы}
begin
for j := 1 to n do
Write(a[i, j]:3);
Writeln;
end;
su(a);
end.
Объяснение кода листинга программы
- Создаётся тип данных
Matrix, который представляет собой матрицу размером от 1 до 100 в каждой строке и каждом столбце. - Создаётся переменная
aтипаMatrix, которая будет использоваться для хранения матрицы. - Создаются три переменные
n,iиjтипаbyte, которые будут использоваться для итерации по матрице. - Создается переменная
sumтипаinteger, которая будет использоваться для хранения суммы элементов матрицы. - Вызывается процедура
su, которая принимает матрицуxв качестве параметра и выполняет следующие действия:- Инициализирует две переменные
qиwтипаintegerдля итерации по матрице. - Использует два вложенных цикла
forдля суммирования элементов матрицыxс положительными значениями. - Выводит сумму элементов матрицы
xдля каждого столбца.
- Инициализирует две переменные
- Выполняется ввод размера матрицы с помощью функции
Readln. - Для каждого столбца матрицы
aвызывается циклfor, который суммирует элементы матрицыaс помощью процедурыsu. - Выводится матрица
aс помощью функцииWrite. - Вызывается функция
randomдля генерации случайного числа в диапазоне от -10 до 10. - Программа завершается.