Использование процедур и функций - Free Pascal
Формулировка задачи:
Задача состоит в том, что бы составить программу для нахождения сумм элементов каждого столбца матриц A и B, используя процедуру.
Написал 4 процедуры : создания матрицы, ее вывод, суммирования столбцов, и вывод ответа. Но не допонял как реализовать главную часть программы и хотел спросить : есть ли смысл помещать эти процедуры в 1 ?
const n=5; // stroka
m=5; //stolbik
type matrix= array[1..n,1..m] of integer;
vector= array[1..m] of integer;
var a, b, sa, sb : integer;
procedure inpoutMatrix(matrica[i,j]);
var i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do
matrica[i,j]:=random(100);
end;
procedure outputMatrix(matrica[i,j]);
ver i,j: integer;
begin
for i:=1 to n do begin
for j:=1 to m do
write (matrica[i,j]);
writeln;
end;
end;
procedure summaStolbov(matrica[i,j]);
var summa,i,j: integer;
begin
for j:=1 to m do begin
summa:=0;
for i:=1 to m do begin
summa:=summa + matrica[i,j];
vector[j]=summa;
end;
end;
end;
procedure printS(vector[j]);
begin
writeln(vector[j]);
end;Решение задачи: «Использование процедур и функций»
textual
Листинг программы
uses crt;
const n=5; // stroka
m=5; //stolbik
type matrix= array[1..n,1..m] of integer;
procedure inpoutMatrix(var a:matrix;c:char);
var i,j: integer;
begin
writeln('Матрица ',c);
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
end;
procedure summaStolbov(a:matrix);
var i,j,summa: integer;
begin
writeln('Суммы в столбцах');
for j:=1 to m do
begin
summa:=0;
for i:=1 to m do
summa:=summa + a[i,j];
writeln('столбец ',j,'=',summa);
end;
end;
var a,b:matrix;
begin
clrscr;
inpoutMatrix(a,'A');
summaStolbov(a);
inpoutMatrix(b,'B');
summaStolbov(b);
readln
end.
Объяснение кода листинга программы
- Объявлены константы n=5 и m=5.
- Объявлен тип матрицы.
- Объявлена процедура inpoutMatrix для ввода/вывода матрицы с целью информирования пользователя о вводе/выводе матрицы.
- Объявлена процедура summaStolbov для вычисления суммы элементов столбцов матрицы.
- Объявлены две переменные a и b типа matrix.
- В основной части программы вызываются процедуры inpoutMatrix и summaStolbov для матриц a и b.
- В конце программы ожидается ввод пользователя для завершения работы программы.