Ivanq
@Ivanq
Знаю php, js, html, css

Вложенные циклы в Pascal?

Здравствуйте! Пишу небольшую программу на паскале (Pascal ABC):
uses GraphABC, Arrays;
var map:array[,] of integer;
var xsize, ysize, x, y:integer;
begin
  ...
  for x := 0 to xsize-1 do
    for y := 0 to ysize-1 do
      map[x, y] := 1;
  ...
end.

Выдает ошибку на строке for y := 0 to ysize-1 do:
Ошибка времени выполнения: Ссылка на объект не указывает на экземпляр объекта.
Похоже, что-то с внутренними циклами. xsize и ysize определяются нормально, x и y тоже как integer. Кто сталкивался с подобной проблемой? В поисковике не нашел.

UPD Вот еще нашел - если убрать заполнение массива, ошибка убирается, но что делать - непонятно.
  • Вопрос задан
  • 552 просмотра
Решения вопроса 1
buksttabu
@buksttabu
у Вас же массив динамический. Попробуйте сначала выделить память для него: setLength(map, xsize, ysize)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AVKor
Ничего не знаю про PascalABC, но во FreePascal вот такой, например, код:
const
  xsize = 2;
  ysize = 2;
var
  map : array[0..xsize,0..ysize] of integer;
  x, y : integer;
begin
  for x := 0 to xsize-1 do
    for y := 0 to ysize-1 do
      map[x,y] := 1
end.

будет работать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы