Нужно поменять процедуру на функцию в программе - Pascal
Формулировка задачи:
program kp;
type massiv=array [1..100] of integer;
matr=array [1..100] of massiv;
var a: matr;
n,m,i,j: byte;
sum,minsum,min: integer;
procedure summa (k: byte; z: massiv; var s: integer);
var e: byte ;
begin
s:=0;
for e:=1 to k do
s:= s+z[e];
end;
begin
randomize;
write('Введите количество строк ');
readln(n);
write('Введите количество столбцов ');
readln(m);
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(10)-5;
write(a[i,j]:4);
end;
writeln;
end;
writeln('суммы столбцов:');
for i:=1 to m do
begin
summa (n,a[i],sum);
write(sum:4);
if i=1 then minsum:=sum
else
if sum<minsum then
begin
minsum:=sum;
min:=i;
end;
end;
writeln;
writeln('минимальная сумма = ',minsum,' в столбце ',min);
readln;
end.Решение задачи: «Нужно поменять процедуру на функцию в программе»
textual
Листинг программы
function summa (k: byte; z: massiv):integer; // функция var e: byte ; s:integer; begin s:=0; for e:=1 to k do begin s:= s+z[e]; end; summa:=s; end;
Объяснение кода листинга программы
- Объявляется функция
summaс параметрамиk(типbyte) иz(типmassiv, предположительно массив чисел). - Объявляется переменная
eтипаbyte. - Объявляется переменная
sтипаinteger. - Происходит инициализация переменной
sзначением 0. - Начинается цикл
for, итерирующий переменнуюeот 1 доk. - В теле цикла к значению
sприбавляется элемент массиваz[e]. - Значению функции
summaприсваивается значение переменнойs. - Функция возвращает значение переменной
s.