Составить функцию для вычисления среднего арифметического одномерного массива - Pascal
Формулировка задачи:
Составить функцию для вычисления среднего арифметического одномерного массива . Даны 2 массива a и b . Напечатать элементы того массива среднее арифметическое которого больше
Решение задачи: «Составить функцию для вычисления среднего арифметического одномерного массива»
textual
Листинг программы
program pr; type arr = array [1..100] of integer; var i, n, m: integer; a, b: arr; c, d: real; function avg(var x: arr; v: integer): real; var j, sum: integer; begin sum := 0; for j := 1 to v do begin sum := sum + x[j]; end; avg := sum / v; end; begin writeln('Введите размер массива А'); readln(n); for i := 1 to n do begin a[i] := random(10); write(a[i]:3); end; writeln; writeln('Введите размер массива B'); readln(m); for i := 1 to m do begin b[i] := random(21); write(b[i]:3); end; c := avg(a, n); d := avg(b, m); writeln; writeln('Массив с наибольшим средним арифметическим элементов'); if c > d then for i := 1 to n do write(a[i]:3); if d > c then for i := 1 to m do write(b[i]:3); end.
Объяснение кода листинга программы
- Объявление переменных:
i, n, m: integer;
- объявление переменных типа integer для использования в циклахa, b: arr;
- объявление двух массивов типа arrc, d: real;
- объявление переменных типа real для хранения среднего арифметического
- Объявление функции для вычисления среднего арифметического:
function avg(var x: arr; v: integer): real;
- объявление функции avg, которая принимает одномерный массив и размер массива и возвращает значение типа realvar j, sum: integer;
- объявление переменных типа integer для использования внутри функцииsum := 0;
- инициализация переменной sum значением 0- Цикл вычисления суммы элементов массива
for j := 1 to v do...
avg := sum / v;
- возврат значения среднего арифметического из функции
- Ввод размера первого массива и заполнение его случайными значениями:
writeln('Введите размер массива А');
readln(n);
- ввод размера массива А- Цикл заполнения массива значениями
for i := 1 to n do...
a[i] := random(10);
- заполнение элемента массива случайным числом от 0 до 9
- Ввод размера второго массива и заполнение его случайными значениями:
writeln('Введите размер массива B');
readln(m);
- ввод размера массива B- Цикл заполнения массива значениями
for i := 1 to m do...
b[i] := random(21);
- заполнение элемента массива случайным числом от 0 до 20
- Вычисление среднего арифметического для обоих массивов:
c := avg(a, n);
- вызов функции avg для массива a и сохранение результата в переменную cd := avg(b, m);
- вызов функции avg для массива b и сохранение результата в переменную d
- Вывод массива с наибольшим средним арифметическим:
writeln('Массив с наибольшим средним арифметическим элементов');
- вывод сообщения- Сравнение значений c и d и вывод массива с наибольшим средним арифметическим
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д