Lotto-ohjelmassa käytettiin while-rakennetta lottonumeron arpomiseen.
Sama voitaisiin esittää lyhyemmin ja jopa kätevämmin do...while-rakenteella.
While-ratkaisu:
x = rand()%39+1; /* arvotaan luku */ while (lotto[x]!=0) /* jos luku on jo arvottu */ { x = rand()%39+1; /* arvotaan uusi */ } /* mahdollisesti toistuvasti */
Do...while-ratkaisu:
do { x=rand()%39+1; /* arvotaan luku */ } while (lotto[x]!=0); /* kunnes löytyy sopiva */
Esimerkin kätevyys ei kuitenkaan yleisty kaikkiin tilanteisiin (ks. seuraava esimerkki).
![]() | Esimerkki |