Определить номер столбца матрицы - Pascal
Формулировка задачи:
Дана матрица А с размерностью 5х5. Определить номер её столбца с наибольшим произведением элементов, вывести этот номер, а также значение наибольшего произведения.
Решение задачи: «Определить номер столбца матрицы»
textual
Листинг программы
var a:array[1..10,1..10]of integer; i,j,p,pr,jnum,n,m,jmin,prmin,p1,j1:integer; begin writeln (' Введите n<=10 , m<=10 '); readln(n,m); writeln(' Введите элементы массива по строкам '); for i:=1 to n do for j:=1 to m do readln(a[i,j]); begin end; p:=1; jnum:=1; prmin:=10000; jmin:=10000; for j:=1 to m do begin pr:=1; for i:=1 to n do pr:=pr*a[i,j]; if pr>p then begin p1:=p; j1:=jnum; p:=pr; jnum:=j; if prmin>pr then begin prmin:=p; jmin:=j1; end; end; end; writeln('Макс. произведение= ',p,' Номер столбца= ',jnum); writeln('Мин. произведение= ',prmin,' Номер столбца= ',jmin); end.
Объяснение кода листинга программы
- Объявлены переменные:
- a: массив из целых чисел размером 10x10.
- i, j, p, pr, jnum, n, m, jmin, prmin, p1, j1: целочисленные переменные для выполнения операций.
- Пользователю предлагается ввести n и m (строка с номерами строк и столбцов).
- Пользователю предлагается ввести элементы массива по строкам.
- Переменные p, jnum, prmin и jmin инициализируются начальными значениями.
- Цикл перебирает все столбцы матрицы:
- Цикл перебирает все строки текущего столбца.
- Внутри цикла вычисляется произведение элементов строки.
- Если произведение текущей строки больше, чем текущее максимальное значение, обновляются значения переменных p1, j1, p, jnum, prmin и jmin.
- Если произведение текущего столбца больше, чем текущее минимальное значение, обновляются значения переменных prmin и jmin.
- Выводятся результаты: максимальное произведение и номер столбца, минимальное произведение и номер столбца.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д