Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 15:47   #1
dijetol
 
Регистрация: 17.03.2011
Сообщений: 5
По умолчанию Ошибка времени выполнения: Индекс находился вне границ массива (pascal)

Собственно, пытаюсь заполнить динамический массив. Вроде все сделал как в хелпе, но выдает такую ошибку: "Ошибка времени выполнения: Индекс находился вне границ массива".
Код:
var 
A:array [,] of real;
m,n,k,i,j:integer;
begin
writeln('введите размер массива mxn');
write('m:'); readln(m); write('n:'); readln(n);
SetLength(a,m,n);
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
end.
При m=3 и n=3 при команде length(a) выдает 9, т.е. как бы i и j не могут выпрыгивать за границы
Когда начинаю вводить данные в массив 3х3, то ошибка появляется на моменте, когда надо вводить элемент a[1,2]. pascal abc
dijetol вне форума Ответить с цитированием
Старый 10.04.2014, 16:15   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, у Вас не Pascal ABC, у Вас PascalABC.NET (это совершенно разные версии Паскаля)

во-вторых, динамические массивы (такие, как у Вас), всегда индексируются от нуля.
поэтому надо так:
Код:
for i:=0 to m-1 do
for j:=0 to n-1 do
   readln(a[i,j]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.04.2014, 16:16   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=0 to m-1 do
for j:=0 to n-1 do
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: Индекс находился вне границ массива archi-boy C# (си шарп) 11 15.11.2013 12:45
Индекс находился вне границ массива. banan4ik Помощь студентам 1 30.05.2013 02:25
[C#] Индекс находился вне границ массива JonMagon Помощь студентам 12 22.01.2012 23:06
"Индекс вне границ массива". Строки. (Проблема еще не решена) Broken Angel Помощь студентам 5 18.01.2011 21:33
C# ошибка:"Индекс находился вне границ массива" potap88 Помощь студентам 16 18.04.2010 15:50