Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ссылочный тип данных.Указатели

Автор: kolegan 23.06.2011 19:45

Доброго времени суток уважаемые форумчане!Никак не могу решить задачу на указатели.Тема мной изучена очень слабо,так что не судите строго.Вот текст задачи:
Найти сумму элементов матрицы 7х7 целых чисел в ДРП.

Задачу делал по образцу,не пойму в чем ошибка.Помогите разобраться...

program DRP;
type
Stroka = array[1..7] of integer;
var
p : array[1..7] of ^Stroka;
j, i,s : integer;
begin
writeln('Свободно до размещения массива в ДРП ', MemAvail, ' байтов');
for i:=1 to 200 do begin
GetMem(p[i], SizeOf(Stroka));
for j := 1 to 100 do
begin
p[i]^[j] := i + j;
s:=s+p[i]^[j];
end;
end;
writeln('Свободно после размещения массива в ДРП ', MemAvail, ' байтов');
writeln('Сумма равна ',s);

for i:=1 to 7 do
FreeMem(p[i], SizeOf(Stroka));
writeln('Нажмите ENTER');
readln
end.


М
Теги!


Автор: IUnknown 23.06.2011 20:38

Цитата
Найти сумму элементов матрицы 7х7 целых чисел в ДРП.
Тогда зачем ты пишешь вот это:

Цитата
for i:=1 to 200 do begin { <--- Откуда 200? У тебя массив 1 .. 7 }
GetMem(p[i], SizeOf(Stroka));
, как результат - элементарный вылет за границу массива.