Заполнить массив по заданному правилу - Pascal ABC (250718)

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

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

имеется код и при запуске на 8-ой строчке выдаёт ошибку, что индекс находился вне границы массива:
В цикле значение должны складываться от предыдущего. То есть если ввести а=3, то 3 раза должны выйти строки на экран с суммой на 5 больше предыдущей строки. Как это можно сделать подскажите пожалуйста и можете объяснить почему выводит ошибку...

Решение задачи: «Заполнить массив по заданному правилу»

textual
Листинг программы
const n = 10;
var a: array[1..n] of integer;
    x, i, m: integer;
begin
  write('Введите кол-во домов: ');
  read(m);
  write('Введите расстояние между домами: ');
  read(x);
  a[1] := 1;
  writeln('1 - 1');
  for i := 2 to m do begin
    a[i] := a[i - 1] + x;
    writeln(i, ' - ', a[i]);
  end;
end.

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

  1. Объявляются константы и переменные:
    • n = 10 (количество домов в массиве)
    • a = array[1..n] of integer (массив для хранения номеров домов)
    • x, i, m = integer (переменные для выполнения задачи)
  2. Запрашивается у пользователя ввод количества домов и расстояния между ними
  3. Вводится начальное значение для первого дома (1)
  4. Выводится информация о первом доме (1 - 1)
  5. С помощью цикла for заполняются остальные дома массива по заданному правилу (a[i] = a[i-1] + x), где i - номер текущего дома, a[i-1] - номер предыдущего дома, x - расстояние между домами
  6. Выводится информация о каждом доме (номер дома - номер дома + расстояние)
  7. Программа завершается

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

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