Определить, какой столбец матрицы имеет наибольшую сумму - Turbo Pascal
Формулировка задачи:
Нужно сделать эту задачу при помощи функции
Решение задачи: «Определить, какой столбец матрицы имеет наибольшую сумму»
textual
Листинг программы
program lab4_1;
uses
crt;
type
arr = array [1..20, 1..20] of integer;
ar = array[1..20]of integer;
var
r, s, n, f: integer;
a: arr;
b: ar;
function ds(var v: arr; var c: ar): integer;
var
max, y, i, j: integer;
begin
for j := 1 to n do
for i := 1 to n do
begin
c[j] := c[j] + v[i, j];
end;
for j := 1 to n do
writeln('Сумма элементов ', j, ' столбца: ', b[j]);
max := 0;
for i := 1 to n do
if c[i] > max then
begin
max := c[i];
y := i;
end;
writeln('Наибольшую сумму имеет столбец ', y);
end;
begin
clrscr;
writeln('Введите количество строк и столбцов квадратной матрицы');
readln(n);
randomize;
for r:= 1 to n do
begin
for s := 1 to n do
begin
a[r, s] := random(21);
write(a[r, s]:5);
end;
writeln;
end;
ds(a, b);
end.
Объяснение кода листинга программы
- Создается программа lab4_1.
- Используются стандартные библиотеки.
- Определяется тип данных arr, который представляет собой массив целых чисел размером от 1 до 20 в каждой из 20 строк.
- Определяется тип данных ar, который представляет собой массив целых чисел размером от 1 до 20.
- Определяются переменные r, s, n и f, которые будут использоваться в программе.
- Создается переменная a, которая будет представлять собой массив arr.
- Создается переменная b, которая будет представлять собой массив ar.
- Определяется функция ds, которая будет находить столбец с наибольшей суммой элементов.
- Внутри функции ds объявляются переменные max, y, i и j, которые будут использоваться для поиска столбца с наибольшей суммой.
- В цикле for j := 1 до n do происходит заполнение массива b значениями из массива c.
- После заполнения массива b выводится информация о столбце с наибольшей суммой.
- В основной части программы считывается количество строк и столбцов матрицы.
- Используется функция randomize для инициализации генератора случайных чисел.
- Заполняется матрица a значениями из диапазона от 0 до 20.
- Вызывается функция ds(a, b).
- Программа завершается.