Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Индекс находится вне границ массива как исправить

Чикибамбони Знаток (481), на голосовании 8 месяцев назад
program p83a;
const m=5; n=15;
var A:array[m..n] of real; i, k:integer; min:real;
begin
for i:=m to n do
begin
write ('Введите значение ', i, '-элемента одномерного массива А:');
read (A[i]);
end;
for i:=m to n do writeln ('A[',i, ']=', A[i]);
min:=A[1]; k:=1;
for i:=2 to n do
begin
if A[i]<min then
begin
min:=A[i];k:=i;
end;
end;
writeln ('Минимальный элемент A[', k, ']=', min) ;
end.
Голосование за лучший ответ
whyizumiphoenix Мыслитель (9831) 9 месяцев назад
Ошибка "индекс находится вне границ массива" возникает, когда вы пытаетесь получить доступ к элементу массива, который находится за пределами его границ. В вашем коде это может произойти, если вы попытаетесь обратиться к элементу массива A с индексом меньше m или больше n. Чтобы исправить эту ошибку, убедитесь, что вы не выходите за границы массива при обращении к его элементам. В вашем случае, вы можете изменить циклы на следующие:
 for i:=m to n do   
begin
write ('Введите значение ', i, '-элемента одномерного массива А:');
read (A[i]);
end;

for i:=m to n do
writeln ('A[',i, ']=', A[i]);

min:=A[m]; k:=m;

for i:=m+1 to n do
begin
if A[i] begin
min:=A[i];
k:=i;
end;
end;

writeln ('Минимальный элемент A[', k, ']=', min) ;
Также, убедитесь, что вы правильно объявили массив и установили правильные значения для m и n.
Алекс Куха Высший разум (456427) 9 месяцев назад
В массиве A:array[5..15] нет элемента с индексом 1 (min:=A[1];)
Похожие вопросы