Помогите пожалуйста решить ошибку:
program second;
const N= 10;
var a: array[1..N] of real;
i: integer;
begin
for i:=1 to N do
a[i]:= 2*a[i-1];
writeln('Массив A:');
for i:=1 to N do
write(a[i]);
end.
Program1.pas(7) : Ошибка времени выполнения: Индекс находился вне границ массива.
ОШИБКУ выдаёт на строчке a[i]:=2*a[i-1]
Заранее огромное Спасибо
Ответы на вопрос
Ответил Arkassssha
0
У тебя элементы выходят за границу массива. Массив строится в твоей программе начиная с единицы: array[1..N] (a[1], a[2], a[3] .... a[N])
Например есть массив 9 7 6.
a[1] = 9
a[2] = 7
a[3] = 6
У тебя строчка в цикле будет выглядеть так: a[1] = 2 * a[0]
У тебя a[0] нету такого числа.
Поэтому надо сделать так (заменить в цикле i:=1 на i:=2):
program second;
const N= 10;
var a: array[1..N] of real;
i: integer;
begin
for i:=2 to N do
a[i]:= 2*a[i-1];
writeln('Массив A:');
for i:=1 to N do
write(a[i]);
end.
Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Биология,
7 лет назад
Физика,
7 лет назад
Алгебра,
8 лет назад
Математика,
8 лет назад