Страницы

Поиск по вопросам

вторник, 26 февраля 2019 г.

Ошибка “Ссылка на объект не указывает на экземпляр объекта”

program One;
var n: integer; a: array of array of integer; i, j: integer;
begin read(n); SetLength(a, n); for i := 1 to n do for j := 1 to n do read(a[i, j]); end.
Почему возникает ошибка?
Ссылка на объект не указывает на экземпляр объекта


Ответ

Вы выделили память только под первое измерение, надо так же выделять под второе
program One;
var n: integer; a: array of array of integer; i, j: integer;
begin read(n);
SetLength(a, n); // выделили под количество строк
for i := 0 to n-1 do // индексация в динамических массивах с нуля begin SetLength(a[i], n); // выделили под количество столбцов for j := 0 to n-1 do read(a[i][j]); end;
end.

Комментариев нет:

Отправить комментарий