Процедуры: среднее арифметическое массива и количество элементов, меньших 15, в матрице - Free Pascal
Формулировка задачи:
Составить процедуру, которая определяет среднее арифметическое значений элементов в одномерном массиве и количество элементов, значение которых меньше 15 в произвольной заданной квадратной матрице B.
заранее спасибо большое
Решение задачи: «Процедуры: среднее арифметическое массива и количество элементов, меньших 15, в матрице»
textual
Листинг программы
uses crt;
type mas=array[1..100] of integer;
mtr=array[1..20,1..20] of integer;
procedure massiv(var a:mas;var n:byte;var sr:real);
var i:byte;
begin
repeat
clrscr;
write('Введите размер массива от 2 до 100 n=');
readln(n);
until n in [2..100];
sr:=0;
writeln('Массив');
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
sr:=sr+a[i];
end;
sr:=sr/n;
writeln;
writeln('Среднее арифметическое=',sr:0:1);
readln;
end;
procedure matrix(var b:mtr;var n:byte;var k:byte);
var i,j:byte;
begin
clrscr;
repeat
write('Введите размер матрицы от 2 до 20 n=');
readln(n);
until n in [2..20];
k:=0;
writeln('Матрица');
for i:=1 to n do
begin
for j:=1 to n do
begin
b[i,j]:=random(20);
write(b[i,j]:4);
if b[i,j]>15 then k:=k+1;
end;
writeln;
end;
writeln('Количество элементов больше 15=',k);
readln;
end;
var a:mas;
b:mtr;
n,m,k:byte;
sr:real;
w:char;
begin
clrscr;
randomize;
repeat
clrscr;
writeln('Выберите действие');
writeln('1-обработка массива');
writeln('2-обработка матрицы');
writeln('другое-выход');
readln(w);
case w of
'1':massiv(a,n,sr);
'2':matrix(b,m,k);
else exit;
end;
until not(w in ['1','2']);
end.
Объяснение кода листинга программы
- Объявлены типы данных: массив
mas(masiv) и матрицаmtr(matrix). - В процедуре
massivпроисходит следующее:- Пользователю предлагается ввести размер массива от 2 до 100.
- Массив инициализируется случайными значениями от 0 до 19.
- Выводится на экран каждый элемент массива.
- Рассчитывается и выводится на экран среднее арифметическое массива.
- В процедуре
matrixпроисходит следующее:- Пользователю предлагается ввести размер матрицы от 2 до 20.
- Матрица инициализируется случайными значениями от 0 до 19.
- Выводится на экран каждый элемент матрицы.
- Считается и выводится на экран количество элементов матрицы, больших 15.
- В основной части программы происходит следующее:
- Создаются переменные для работы с массивом и матрицей.
- Пользователю предлагается выбрать действие: обработка массива или обработка матрицы.
- В зависимости от выбора выполняется соответствующая процедура.
- Программа повторяется до тех пор, пока пользователь не выберет действие
другое-выход.