Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Forumas | Kita | Off-Topic diskusijos |
Autorius: untitled | Peržiūrų: 716 |
untitled VIP narys Nuolatinis Pranešimai: 179 Įstojęs: 2006 Lap. 8 15:11:10 | |
Sveiki, gal kas gali padėti su tokia užduotimi? 2. Dvejetainio medžio viršūnę aprašo toks įrašas: type T = ...; Medis = ^viršūnė; viršūnė = record INFO : T; K, D : Medis; end; Sukurta procedūra medžiui trinti: procedure Trink(P: Medis); function ArLapas(P: Medis): boolean; begin ArLapas := (P^.K = nil) and (P^.D = nil); end; procedure TrinkLapą(var P: Medis); begin dispose(P); P := nil; end; begin if (P^.K <> nil) then if ArLapas(P^.K) then TrinkLapą(P^.K) else Trink(P^.K); if (P^.D <> nil) then if ArLapas(P^.D) then TrinkLapą(P^.D) else Trink(P^.D); if ArLapas(P) then TrinkLapą(P); end; Tačiau procedūra veikia neteisingai: ištrinami tik lapai ir jų tėvai. Raskite klaidą ir paaiškinkite ją. Ištaisykite procedūrą, kad ji veiktų korektiškai – trintų visą medį. Ir dar - ką reiškia „^“ |
Peršokti į forumą: |