В одномерном массиве заменить каждое отрицательное число полусуммой его соседей справа и слева - Pascal

Узнай цену своей работы

Формулировка задачи:

В одномерном массиве A1, A2, ... , An заменить каждое отрицательное число полусуммой его соседей справа и слева. Предполагается, что первое и последнее числа в массиве положительны. Помогите составить программу в Паскале, пожалуйста!

Решение задачи: «В одномерном массиве заменить каждое отрицательное число полусуммой его соседей справа и слева»

textual
Листинг программы
const m = 100;
var a: array[1..m] of real;
    i, n:integer;
    t, ti: real;
 
begin
  repeat
    write('Количество элементов массива в диапазоне 1..', m, ': ');
    readln(n)
  until (n >= 1) and (n <= m);
  writeln('Введите значения элементов массива:');
  for i:=1 to n do
    repeat
      write('a[',i,'] = ');
      readln(a[i]);
      if ((i = 1) or (i = n)) and (a[i] <= 0) then writeln('Крайние элемент должны быть положительны, повторите ввод.')
    until ((i > 1) and (i < n)) or (a[i] > 0);
  writeln('Исходный массив:');
  for i := 1 to n do write(a[i]:10:3);
  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]:10:3);
  readln
end.

Объяснение кода листинга программы

  1. Создается переменная m со значением 100.
  2. Создается переменная a типа array[1..m] of real.
  3. Создаются две переменные i и n типа integer.
  4. Создается две переменные t и ti типа real.
  5. Запускается цикл repeat, который продолжается до тех пор, пока количество введенных элементов n удовлетворяет условиям (n >= 1) и (n <= m).
  6. В каждой итерации цикла выводится сообщение с вопросом о количестве элементов массива в диапазоне от 1 до m.
  7. Пользователю предлагается ввести значения элементов массива.
  8. Для каждого элемента массива выполняется цикл repeat, который продолжается до тех пор, пока значение элемента a[i] не будет положительным или не будет введено корректное значение.
  9. Выводится сообщение с вопросом о крайних элементах массива.
  10. Выводится исходный массив элементов.
  11. Вычисляется среднее значение соседних элементов для первого элемента массива a[1].
  12. Для каждого элемента массива a[i] выполняется цикл for, который продолжается до тех пор, пока значение элемента a[i] не станет положительным.
  13. Значение элемента a[i] заменяется средним значением соседних элементов a[i+1] и a[i-1].
  14. Выводится результат.
  15. Выводится сообщение с вопросом о крайних элементах массива.
  16. Выводится результат.
  17. Программа завершается и пользователь может ввести новые команды.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы