Tym razem zabawa w małe GC w Pascalu;
Należy tak zmodyfikować ten kod:
// miejsce na Twój kod
Procedure MyProc;
Var Data: PByte;
I : uint16;
// miejsce na Twój kod
Begin
// miejce na Twój kod
Data := AllocMem(10);
For I := 0 To 9 Do
Data[I] := Random(High(Byte));
For I := 0 To 9 Do
Write(Data[I], ' ');
Writeln;
End;
Begin
MyProc;
Writeln('-- end --');
Readln;
End.
Aby przy wyjściu z funkcji MyProc
, pamięć zaalokowana przy pomocy AllocMem
była automatycznie zwalniana.
Nie można modyfikować już napisanego kodu (poza usunięciem tych komentarzy :P), a swój kod można wstawiać jedynie w miejsca oznaczone tymi trzema komentarzami (czyli przed procedurą MyProc
, w jej lokalnych zmiennych oraz na samym jej początku).
Kompilator: Delphi lub FPC (można używać dowolnych przełączników), kod nie musi być przenośny między platformami/systemami, nie może również zawierać żadnych wycieków pamięci.
Czas: od dzisiaj przez tydzień, czyli do południa 7 grudnia, rozwiązania proszę przesyłać mi na PW ;)
Nagroda: +3.5 punktu do szacunku ;]
Powodzenia! :D