Вычислить сумму произведений заданных элементов матрицы - 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.

Объяснение кода листинга программы

  1. Объявлены константы m=5 и n=7, а также тип матрицы mtr=array[1..m,1..n] of integer.
  2. Определена функция Z(a:mtr):integer, которая будет вычислять сумму произведений заданных элементов матрицы a.
  3. В функции Z объявлены следующие переменные:
    • i, j, mx, s: целочисленные переменные, используемые в цикле;
    • x: массив для хранения текущих максимальных значений элементов;
  4. В функции 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].
  5. В основной программе объявлены переменные a, i и j типа integer.
  6. В основной программе происходит следующий процесс:
    • Внутренний цикл for i:=1 to m проходит по каждой строке матрицы a.
    • Внутренний цикл for j:=1 to n проходит по каждому столбцу строки i и выводит значение элемента a[i,j].
    • После завершения внутреннего цикла выводится символ новой строки.
    • После завершения внешнего цикла выводится значение функции Z(a).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы