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.
Комментариев нет:
Отправить комментарий