Uzrakstiet programmu, kas simulē atmiņas iedalīšanas komandu izpildi!
Atmiņa ir virkne, kas sastāv no 100,000 sekojošām atmiņas vienībām, kas sanumurētas ar skaitļiem no 1 līdz 100,000. Sākumā visas vienības ir brīvas.
Iespējamās komandas ir:
Mainīgie ir simbolu virknes, kas sastāv no precīzi četriem maziem latīņu alfabēta burtiem. Dažādu mainīgo skaits nepārsniedz 1000. Visu mainīgo sākuma vērtības vienādas ar 0.
Teksta faila malloc.dat pirmajā rindā dots vesels skaitlis N, 1 ≤ N ≤ 100,000, - komandu skaits (vismaz viena komanda būs 'print').
Katrā no nākamajām N rindām dota viena komanda. Komandas dotas to izpildes secībā.
Teksta failā malloc.rez jāizvada visu komandu 'print' rezultāti tādā secībā, kādā tās parādās ievaddatos. Katrs rezultāts jāizvada atsevišķā rindā.
malloc.dat | malloc.rez |
3 mama=malloc(140); tata=malloc(120); print(tata); |
141 |
malloc.dat | malloc.rez |
aabb=malloc(50001); bbaa=malloc(50000); print(aabb); free(aabb); print(bbaa); |
1 0 |
malloc.dat | malloc.rez |
5 baka=malloc(214); baka=malloc(123); free(baka); deda=malloc(100); print(deda); |
215 |