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