Каждый отрицательный элемент массива заменить полусуммой соседей - Pascal
Формулировка задачи:
Составить программу. Пусть дан массив из n элементов.Каждый отрицательный элемент замените полусуммой тех двух элементов, которые стоят с ним справа и слева.
Помогите пожалуйста.
Решение задачи: «Каждый отрицательный элемент массива заменить полусуммой соседей»
textual
Листинг программы
const n = 8; var a: array[1..n] of real; i: integer; t, ti: real; begin randomize; for i := 1 to n do repeat a[i] := -99 + random(199); until ((i > 1) and (i < n)) or (a[i] > 0); writeln('Исходный массив:'); for i := 1 to n do write(a[i]:6:1); writeln; t := a[1]; for i := 2 to n - 1 do begin ti := a[i]; if a[i] < 0 then a[i] := (t + a[i + 1]) / 2; t := ti end; writeln('Результат:'); for i := 1 to n do write(a[i]:6:1); readln end.
Объяснение кода листинга программы
- Объявляется константа
n
со значением 8 - Объявляется массив
a
из 8 элементов типа real (вещественное число). Также объявляются переменныеi
иt, ti
типа integer и real соответственно - Генерируются случайные числа от -99 до 99 и записываются в массив
a
, при этом гарантируется, что внутренние элементы массива могут быть отрицательными, а первый и последний элементы могут быть любыми числами - Выводится сообщение
Исходный массив:
на экран - Выводятся элементы массива
a
с форматированием до 1 десятичной цифры после запятой - Значению переменной
t
присваивается значение первого элемента массиваa
- Происходит проход по массиву, при этом отрицательные элементы заменяются на их полусумму соседних элементов
- Выводится сообщение
Результат:
на экран - Выводятся измененные элементы массива
a
с форматированием до 1 десятичной цифры после запятой - Осуществляется ожидание ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д