Использование процедур и функций - Free Pascal

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

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

Задача состоит в том, что бы составить программу для нахождения сумм элементов каждого столбца матриц A и B, используя процедуру. Написал 4 процедуры : создания матрицы, ее вывод, суммирования столбцов, и вывод ответа. Но не допонял как реализовать главную часть программы и хотел спросить : есть ли смысл помещать эти процедуры в 1 ?
Листинг программы
  1. const n=5; // stroka
  2. m=5; //stolbik
  3. type matrix= array[1..n,1..m] of integer;
  4. vector= array[1..m] of integer;
  5. var a, b, sa, sb : integer;
  6. procedure inpoutMatrix(matrica[i,j]);
  7. var i,j: integer;
  8. begin
  9. for i:=1 to n do
  10. for j:=1 to m do
  11. matrica[i,j]:=random(100);
  12. end;
  13. procedure outputMatrix(matrica[i,j]);
  14. ver i,j: integer;
  15. begin
  16. for i:=1 to n do begin
  17. for j:=1 to m do
  18. write (matrica[i,j]);
  19. writeln;
  20. end;
  21. end;
  22. procedure summaStolbov(matrica[i,j]);
  23. var summa,i,j: integer;
  24. begin
  25. for j:=1 to m do begin
  26. summa:=0;
  27. for i:=1 to m do begin
  28. summa:=summa + matrica[i,j];
  29. vector[j]=summa;
  30. end;
  31. end;
  32. end;
  33. procedure printS(vector[j]);
  34. begin
  35. writeln(vector[j]);
  36. end;

Решение задачи: «Использование процедур и функций»

textual
Листинг программы
  1. uses crt;
  2. const n=5; // stroka
  3.       m=5; //stolbik
  4.  
  5. type  matrix= array[1..n,1..m] of integer;
  6.  
  7. procedure inpoutMatrix(var a:matrix;c:char);
  8. var i,j: integer;
  9. begin
  10. writeln('Матрица ',c);
  11. for i:=1 to n do
  12.  begin
  13.   for j:=1 to m do
  14.    begin
  15.     a[i,j]:=random(100);
  16.     write(a[i,j]:4);
  17.    end;
  18.   writeln;
  19.  end;
  20. end;
  21.  
  22. procedure summaStolbov(a:matrix);
  23. var i,j,summa: integer;
  24. begin
  25. writeln('Суммы в столбцах');
  26. for j:=1 to m do
  27.  begin
  28.   summa:=0;
  29.   for i:=1 to m do
  30.   summa:=summa + a[i,j];
  31.   writeln('столбец ',j,'=',summa);
  32.   end;
  33.  end;
  34.  
  35. var a,b:matrix;
  36. begin
  37. clrscr;
  38. inpoutMatrix(a,'A');
  39. summaStolbov(a);
  40. inpoutMatrix(b,'B');
  41. summaStolbov(b);
  42. readln
  43. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы