На место наименьшего элемента массива записать среднее арифметическое всех элементов массива - Turbo Pascal
Формулировка задачи:
дан массив V(b1, b2, ..., b30). В элемент bi, содержащий наименьшее значение, записать среднее арифметическое значение элементов массива.
Решение задачи: «На место наименьшего элемента массива записать среднее арифметическое всех элементов массива»
textual
Листинг программы
const nMax = 30;
type arr = array [1..nMax] of real;
var V: arr;
num: integer;
procedure makeArray;
var z:integer;
begin
randomize;
for z:= 1 to nMax do
v[z]:=50-random()*random(101);
end;
procedure writeArray;
var z: integer;
begin
writeln('Massiv: ');
for z := 1 to nMax do writeln(v[z]:4:2)
end;
function arithMean(x: integer):real;
var z: integer;
s:real;
begin
s:=0;
for z := 1 to nMax do
if z<>x then s:=s+V[z];
arithMean:=s/nMax;
end;
begin
makeArray;
writeArray;
writeln('Vvedite nomer elementa: ');
readln(num);
V[num]:=arithMean(num);
writeln('Srednee arifmeticheskoe = ',V[num]:4:2,' v elemente b[',num,']');
writeArray;
readln
end.
Объяснение кода листинга программы
- В функции
makeArrayсоздается массивVтипаarrс максимальным количеством элементовnMax. - В цикле
forгенерируются случайные числа для каждого элемента массиваVот 50 до 100. - В функции
writeArrayвыводится сообщениеMassiv:и затем для каждого элемента массиваVвыводится его значение в формате 4.2. - В функции
arithMeanвычисляется среднее арифметическое всех элементов массиваV, кроме указанного числаx. - После выполнения всех предыдущих действий выводится сообщение с номером элемента, для которого вычисляется среднее арифметическое, и его значением.
- В основной части программы сначала вызывается функция
makeArray, затем функцияwriteArray, после чего считывается номер элемента, для которого нужно вычислить среднее арифметическое. - Вычисленное среднее арифметическое записывается в элемент массива
Vпод номером считанного элемента. - Выводится сообщение с результатом вычислений.
- Программа завершается вызовом функции
readln.