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