Составить процедуру подсчета суммы элементов. - 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.
Объяснение кода листинга программы
- Создается процедура Summa, которая принимает в качестве параметров массив чисел (v), количество строк (y) и переменную для хранения суммы (s). Внутри процедуры происходит суммирование элементов массива v, начиная с индекса y.
- Создается переменная a типа матрица, которая будет использоваться для хранения исходной матрицы.
- Задаются начальные значения для переменной m (количество строк) и переменной n (количество столбцов).
- В цикле повторяется запрос количества строк и столбцов, пока значения не будут в пределах от 1 до nmax.
- В каждой итерации цикла заполняется элемент матрицы a[i,j] случайным числом от 0 до 20.
- Вызывается процедура Summa для каждой строки матрицы a[i], начиная с индекса 1. Параметр y задает количество строк, которое нужно просуммировать. Результат суммирования сохраняется в переменной s.
- После вызова процедуры Summa выводится сумма в строке i.
- Если сумма в строке i превышает текущую максимальную сумму mx, то обновляется значение mx и индекс imx.
- В конце выводится строка с максимальной суммой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д