Заменить положительные элементы средним арифметическим всех элементов массива - Turbo Pascal
Формулировка задачи:
Дан массив. Если элементы выше ноля надо заменить их средним арифметическим значением всех элементах массива.
Решение задачи: «Заменить положительные элементы средним арифметическим всех элементов массива»
textual
Листинг программы
var ar: Array[Byte] Of Double; i, n: Byte; avr: Double; begin Randomize; repeat Write('Input n (1..255): '); ReadLn(n); until (n > 0); avr := 0; Write('Original array:'); for i := 0 to n - 1 do begin ar[i] := Random * 198 - 99; Write(ar[i]:7:2); avr := avr + ar[i]; end; avr := avr / n; WriteLn; WriteLn('AVR=', avr:0:2); Write('Modified array:'); for i := 0 to n - 1 do begin if (ar[i] > 0) then ar[i] := avr; Write(ar[i]:7:2); end; end.
Объяснение кода листинга программы
- Создается переменная
ar
типаArray[Byte] Of Double
, которая будет использоваться для хранения массива чисел. - Затем создаются три переменные
i
,n
иavr
. Переменнаяi
будет использоваться для перебора элементов массива,n
- для получения количества элементов в массиве, аavr
- для хранения среднего арифметического. - В цикле
repeat
считывается количествоn
от пользователя. Условиеn > 0
используется для предотвращения бесконечного цикла, если пользователь введет ноль. - Переменная
avr
инициализируется значением 0. Она будет использоваться для хранения суммы всех элементов массива до их изменения. - Выводится исходный массив. Для каждого элемента в массиве выводится его значение с помощью функции
Write(ar[i]:7:2)
, гдеi
- это индекс текущего элемента. - Затем вычисляется среднее арифметическое
avr
путем деления суммы всех элементов массива на количество элементовn
. - Выводится сообщение с значением
avr
. - В следующем цикле
for
перебираются элементы массиваar
. - Если текущий элемент
ar[i]
больше нуля, то он заменяется на среднее арифметическоеavr
. - Значение текущего элемента выводится с помощью функции
Write(ar[i]:7:2)
. - Переменная
avr
увеличивается на сумму текущего элемента и предыдущего среднего арифметического. - Цикл завершается, когда достигается конец массива.
- Выводится сообщение с измененным массивом.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д