Составить процедуру подсчета суммы элементов. - Pascal

Узнай цену своей работы

Формулировка задачи:

Составить процедуру подсчета суммы элементов в одномерном массиве. С помощью этой процедуры подсчитатать суммы строк произвольно заданной матрицы A. Вывести номер строки с максимальным значением суммы.

Решение задачи: «Составить процедуру подсчета суммы элементов.»

textual
Листинг программы
uses crt;
const nmax=20;
type mas=array[1..nmax] of integer;
     matr=array[1..nmax] of mas;
procedure Summa(v:mas;y:byte;var s:integer);
var i:byte;
begin
s:=0;
for i:=1 to y do
s:=s+v[i];
end;
 
var a:matr;
    m,n,i,j,imx:byte;
    mx,s:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=random(20);
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
Summa(a[1],m,mx);
writeln('Сумма в строке 1=',mx);
imx:=1;
for i:=2 to n do
 begin
  Summa(a[i],m,s);
  writeln('Сумма в строке ',i,'=',s);
  if s>mx then
   begin
    mx:=s;
    imx:=i;
   end;
 end;
write('Строка с максимальной суммой номер ',imx);
readln
end.

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

  1. Создается процедура Summa, которая принимает в качестве параметров массив чисел (v), количество строк (y) и переменную для хранения суммы (s). Внутри процедуры происходит суммирование элементов массива v, начиная с индекса y.
  2. Создается переменная a типа матрица, которая будет использоваться для хранения исходной матрицы.
  3. Задаются начальные значения для переменной m (количество строк) и переменной n (количество столбцов).
  4. В цикле повторяется запрос количества строк и столбцов, пока значения не будут в пределах от 1 до nmax.
  5. В каждой итерации цикла заполняется элемент матрицы a[i,j] случайным числом от 0 до 20.
  6. Вызывается процедура Summa для каждой строки матрицы a[i], начиная с индекса 1. Параметр y задает количество строк, которое нужно просуммировать. Результат суммирования сохраняется в переменной s.
  7. После вызова процедуры Summa выводится сумма в строке i.
  8. Если сумма в строке i превышает текущую максимальную сумму mx, то обновляется значение mx и индекс imx.
  9. В конце выводится строка с максимальной суммой.

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


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

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

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