Citat:
Toyo: U Turbo pascal-u:
...
Umesto elem=integer, stavis elem=neki tip podataka ili record.
Ovo vadim iz malog mozga, ali bi trebalo da radi.
To bi sve bilo lepo da Turbo Pascal podrzava nizove vece od valjda 64k...
10000 integera moze da prodje (10000 x 2 = 20000, jer je manje od 64K), ali kada radis sa nekim drugim tipom to nije primenljivo...
Mozes da napravis npr 10000 pokazivaca na podatke, pa da tako radis...
NPR, iz glave:
Type
Pera = RECORD
A: Integer;
B: String;
C: Real;
END;
Niz: Array[1..10000] Of ^Pera;
pa onda upisujes podatke na sledeci nacin:
...
new(Niz[1]);
Niz[1]^.A:=1;
Niz[1]^.B:='asasd';
Niz[1]^.C:=12.22;
Dispose(Niz[1]);
------------------------------
...time ces morati "rucno" da po potrebi alociras i oslobadjas memoriju. Na taj nacin imas u stvari niz pointera, koji opet u TP-u ima maksimalnu duzinu od 64K, a to je
(valjda) 65,536 / 4 = 16,384... Znaci maksimalno 16,384 pokazivaca mozes da smestis u jedan niz... Ako ti treba vise podataka, moraces da pravis povezanu listu...
poz