Заменить положительные элементы средним арифметическим всех элементов массива - 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
увеличивается на сумму текущего элемента и предыдущего среднего арифметического. - Цикл завершается, когда достигается конец массива.
- Выводится сообщение с измененным массивом.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д