Найти среднее арифметическое первого столбца массива - PascalABC.NET

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

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

Писал прогу, надо было найти сначала среднее арифметическое первого столбца массива, потом среднее арифметическое первых двух столбцов массива, потом первых трёх столбцов массива, надо использовать процедуры, в итоге вот что у меня получилось :
Листинг программы
  1. const n=3;
  2. type mas=array[1..n,1..n] of real;
  3. procedure srednie_arifmeticheskie1(A:mas; i,j:integer; var sar1: real);
  4. begin
  5. j := 1;
  6. sar1 := 0;
  7. for i := 1 to n do
  8. sar1 := sar1 + A[i, j];
  9. writeln('Среднее арифметическое в столбце 1', j, ' = ', sar1 / n:0:2);
  10. end;
  11. procedure srednie_arifmeticheskie2(A:mas; i,j:integer; var sar1, sar2: real);
  12. begin
  13. begin
  14. j := 1;
  15. sar1 := 0;
  16. for i := 1 to n do
  17. sar1 := sar1 + A[i, j];
  18. sar1 := sar1 / n;
  19. end;
  20. begin
  21. j := 2;
  22. sar2 := 0;
  23. for i := 1 to n do
  24. sar2 := sar2 + A[i, j];
  25. sar2 := sar2 / n;
  26. writeln('Среднее арифметическое в столбце 1 и 2', j, ' = ', ((sar1 + sar2) / 2):0:2);
  27. end;
  28. end;
  29. procedure srednie_arifmeticheskie3(A:mas; i,j:integer; var sar1, sar2, sar3: real);
  30. begin
  31. begin
  32. j := 1;
  33. sar1 := 0;
  34. for i := 1 to n do
  35. sar1 := sar1 + A[i, j];
  36. sar1 := sar1 / n;
  37. end;
  38. begin
  39. j := 2;
  40. sar2 := 0;
  41. for i := 1 to n do
  42. sar2 := sar2 + A[i, j];
  43. sar2 := sar2 / n;
  44. sar2 := (sar1 + sar2) / 2;
  45. end;
  46. begin
  47. j := 3;
  48. sar3 := 0;
  49. for i := 1 to n do
  50. sar3 := sar3 + A[i, j];
  51. sar3 := sar3 / n;
  52. writeln('Среднее арифметическое в столбце 1 , 2 и 3', j, ' = ', ((sar1 + sar2 + sar3) / 3):0:2);
  53. end;
  54. end;
  55. var
  56. A : mas;
  57. i, j: integer;
  58. sar1, sar2, sar3: real;
  59. begin
  60. for i := 1 to n do
  61. for j := 1 to n do
  62. begin
  63. write('A[', i, ',', j, ']=');
  64. readln(A[i, j]);
  65. end;
  66. sar1 := srednie_arifmeticheskie1(A);
  67. sar2 := srednie_arifmeticheskie2(A);
  68. sar3 := srednie_arifmeticheskie3(A);
  69. end.
На 4 строчке снизу пишет : Неверное число параметров процедуры. Вопрос, что мне надо исправить в таком случае? Если кто знает, напишите.

Решение задачи: «Найти среднее арифметическое первого столбца массива»

textual
Листинг программы
  1. const n=3;
  2. type mas=array[1..n,1..n] of real;
  3. procedure srednie_arifmeticheskie(A:mas; k:integer; var sar: real);
  4. var i,j:integer;
  5. begin
  6. sar := 0;
  7. for j:=1 to k do
  8. for i := 1 to n do
  9. sar := sar + A[i, j];
  10. writeln('Среднее арифметическое в столбцах номер 1..',k,'=', sar / (n*k):0:2);
  11. end;
  12. var
  13. A : mas;
  14. i, j: integer;
  15. sar: real;
  16. begin
  17. for i := 1 to n do
  18. for j := 1 to n do
  19.  begin
  20.   write('A[', i, ',', j, ']=');
  21.   readln(A[i, j]);
  22.  end;
  23. srednie_arifmeticheskie(A,1,sar);
  24. srednie_arifmeticheskie(A,2,sar);
  25. srednie_arifmeticheskie(A,3,sar);
  26. end.

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

  1. Объявлены константа n равная 3 и тип массива mas как одномерный массив размером от 1 до 3 строк и от 1 до 3 столбцов, заполняемый вещественными числами.
  2. Объявлена процедура srednie_arifmeticheskie принимающая массив A, номер столбца k и переменную sar типа real для хранения суммы элементов столбца.
  3. В процедуре объявлены две переменные i и j для перебора строк и столбцов массива соответственно.
  4. Переменная sar инициализируется нулем.
  5. Два вложенных цикла перебирают элементы массива A по строкам и столбцам.
  6. Внутри циклов сумма элементов sar увеличивается на текущий элемент массива A[i, j].
  7. После завершения циклов выводится среднее арифметическое столбца номер от 1 до k включительно, равное sar / (n*k).
  8. Значение среднего арифметического округляется до двух знаков после запятой с помощью функции :0:2.
  9. В основной части программы объявлены переменные A, i, j и sar типа real.
  10. Для заполнения массива A используется два вложенных цикла, в которых сначала выводится приглашение для ввода значения элемента массива, затем это значение считывается функцией readln().
  11. После заполнения массива A вызывается процедура srednie_arifmeticheskie для каждого из трех столбцов с передачей в качестве аргументов номера столбца и переменной sar.
  12. Результат вычисления среднего арифметического выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

15   голосов , оценка 3.867 из 5

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

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

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