Вставить после максимального элемента значение, равное среднему арифметическому элементов массива. - PascalABC.NET
Формулировка задачи:
помогите пожалуйста, написать программу
Дан массив А размером N.Вставить после максимального элемента значение, равное среднему арифметическому элементов массива.
Решение задачи: «Вставить после максимального элемента значение, равное среднему арифметическому элементов массива.»
textual
Листинг программы
type vector=array[1..100]of real; var a:vector; n,i:integer; x,max:real; procedure formandprint(var a:vector; var n:integer); var i:integer; begin write('Количество элементов '); read(n); for i:=1 to n do a[i]:=Random(10); writeln(); write('Исходный массив '); for i:=1 to n do write(a[i],' '); writeln(); end; function sred(a:vector; n:integer):real; var i:integer; s:real; begin sred:=0; s:=0; for i:=1 to n do s:=a[i]+s; sred:=s/n; end; function findMax(a:vector; n:integer):real; var i:integer; max:real; begin max:=a[1]; for i:=1 to n do if(a[i]>max) then max:=a[i]; findMax:=max; end; begin formandprint(a,n); x:=sred(a,n); max:=findMax(a,n); writeln('Максимальное значение ', max); writeln('Среднее значение ',x); for i:=1 to n do if(i=n)and(a[i]=max)then a[1]:=x else if(a[i]=max)then a[i+1]:=x; write('Результат: '); for i:=1 to n do write(a[i]:2); writeln(); end.
Объяснение кода листинга программы
- Объявлены переменные: a (массив), n (количество элементов в массиве), i (номер элемента), x (среднее значение), max (максимальное значение).
- Вывод сообщения о количестве элементов и считывание этого количества.
- Заполнение массива случайными значениями.
- Вывод исходного массива.
- Вычисление среднего значения элементов массива.
- Вычисление максимального значения элементов массива.
- Нахождение индекса максимального значения.
- Замена значения на среднее значение по всем элементам массива.
- Вывод нового массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д