Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program TrueDynamicArray;
- type
- ElemType = integer; //Наши элементы массива будут типа integer
- TElemType = ^Elemtype; //Создаем тип ссылки на integer
- //Вспомогательная функция, реализующая последовательный доступ к памяти
- //Идем по одному до элемента с номером i и возвращаем его
- function getI( pa:TElemType;i:word):integer;
- var
- j:word;
- begin
- for j:=1 to i-1 do
- inc(pa);
- getI:=pa^; //Не забываем про разыменование
- end;
- //Вспомогательная функция, реализующая последовательный доступ к памяти
- //Идем по одному до элемента с номером i и устанавливаем его значение равным val
- procedure setI( pa:TElemType; i:word; val:ElemType);
- var
- j:word;
- begin
- for j:=1 to i-1 do
- inc(pa);
- pa^:=val; //Не забываем про разыменование
- end;
- var
- i,n:word; //i - счетчик; n - кол-во элементов массива
- arrayPtr: TElemType; //Указатель на первый элемент массива
- begin
- readln(n); // Считываем n с консоли
- //Выделяем память под наши нужды начиная с ячейки arrayPtr 8*n байт
- getmem( arrayPtr, sizeof(ElemType)*n);
- for i:=1 to n do
- setI(arrayPtr, i, random(10));
- for i:=1 to n do
- write(getI(arrayPtr, i ):3);
- // Очищаем память начиная с ячейки arrayPtr 8*n байт
- freemem(arrayPtr,sizeof(elemType)*n);
- end.
Add Comment
Please, Sign In to add comment