Вычислить сумму произведений заданных элементов матрицы - Pascal
Формулировка задачи:
Помогите пожалуйста
Ввести элементы матрицы размерности m на n. Описать функцию сум(А), которая вычисляет Z=x[1]*x[n]+x[2]*x[n-2]+...+x[n]*x[1]. где x[i]-максимальный элемент i-того рядка матрицы А
Решение задачи: «Вычислить сумму произведений заданных элементов матрицы»
textual
Листинг программы
const m=5; n=7; type mtr=array[1..m,1..n] of integer; function Z(a:mtr):integer; var i,j,mx,s:integer; x:array[1..m] of integer; begin for i:=1 to m do begin x[i]:=a[i,1]; for j:=2 to n do if a[i,j]>x[i] then x[i]:=a[i,j]; end; s:=0; for i:=1 to m do s:=s+x[i]*x[m-i+1]; Z:=s; end; var a:mtr; i,j:integer; begin randomize; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=1+random(10); write(a[i,j]:3); end; writeln; end; write('Z=',Z(a)); end.
Объяснение кода листинга программы
- Объявлены константы
m=5
иn=7
, а также тип матрицыmtr=array[1..m,1..n] of integer
. - Определена функция
Z(a:mtr):integer
, которая будет вычислять сумму произведений заданных элементов матрицыa
. - В функции
Z
объявлены следующие переменные:i
,j
,mx
,s
: целочисленные переменные, используемые в цикле;x
: массив для хранения текущих максимальных значений элементов;
- В функции
Z
происходит следующий процесс:- Внешний цикл
for i:=1 to m
проходит по каждой строке матрицыa
. - Внутренний цикл
for j:=2 to n
проходит по каждому столбцу строкиi
и сравнивает значение элементаa[i,j]
с текущим максимальным значением элементаx[i]
. Еслиa[i,j]
больше, то он присваиваетсяx[i]
. - Внутренний цикл завершается, и в переменную
s
добавляется произведение элементовx[i]
иx[m-i+1]
.
- Внешний цикл
- В основной программе объявлены переменные
a
,i
иj
типаinteger
. - В основной программе происходит следующий процесс:
- Внутренний цикл
for i:=1 to m
проходит по каждой строке матрицыa
. - Внутренний цикл
for j:=1 to n
проходит по каждому столбцу строкиi
и выводит значение элементаa[i,j]
. - После завершения внутреннего цикла выводится символ новой строки.
- После завершения внешнего цикла выводится значение функции
Z(a)
.
- Внутренний цикл
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д