Составить функцию для вычисления среднего арифметического одномерного массива - 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 и вывод массива с наибольшим средним арифметическим