Использование процедур и функций - 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.

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

  1. Объявлены константы n=5 и m=5.
  2. Объявлен тип матрицы.
  3. Объявлена процедура inpoutMatrix для ввода/вывода матрицы с целью информирования пользователя о вводе/выводе матрицы.
  4. Объявлена процедура summaStolbov для вычисления суммы элементов столбцов матрицы.
  5. Объявлены две переменные a и b типа matrix.
  6. В основной части программы вызываются процедуры inpoutMatrix и summaStolbov для матриц a и b.
  7. В конце программы ожидается ввод пользователя для завершения работы программы.

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

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