pkt-zer0 <pktzerus(a)gmail.com> writes:
Hello,
A kisháziban megadott count/2 eljárás b. és c. extra funkciónak
megvalósításához (elegendõ számú behelyettesített egyes/nulla után a lista
többi elemét megfelelõen leköti) jól jönne némi segítség. Úgy gondoltam,
hogy valamiféle akkumulátor változóban kéne növelni az egyesek/nullák
számát, amikor egy-egy daemon felébred, de hogy ezt a változót hogyan
lehetne megfelelõen megosztani, nem világos. Esetleg egyáltalán nem így kéne
nekikezdeni a problémának? Bármiféle tippet megköszönnék.
count(L, N) eseten nyilvan erdemes az L-et megszurni, ugy hogy mar csak
valtozok maradjanak benne (persze ekkor N erteke is modosulhat). Ezutan meg
lehet vizsgalni a szelso eseteket (lasd a fenti: "elegendõ számú
behelyettesített egyes/nulla ...." esetet, illetve celszeru azt is
eszrevenni, ha biztos, hogy a count meghiusul). Ha ezek nem jonnek be,
nyilvan az a teendo, hogy csinalunk egy demont, amely arra var, hogy
valamelyik valtozo behelyettesitodjek. Ezt egy vagylagos when feltetellel
lehet megcsinalni, amihez egy [X1,X2,...Xn] listabol elo kell allitani a
(when(X1);when(X2);...when(Xn)) adatstrukturat. Ebredes utan lehet kezdeni
elolrol mindent (mint a valos eletben :-).
-Peter