© serviceprofessionalgmbh

Stellen Sie sich folgendes Bild bei der Lottoziehung: Nachdem die Kugel aus der Trommel fällt, spricht die Lottofee:

"...die 4. gezogene Zahl ist... HALT. Meine Damen und Herren, ich muss erst prüfen, ob die 4. Zahl mit der 1., 2. oder 3. Zahl übereinstimmt. Wenn ja, muss ich sie in die Ziehungstrommel zurücklegen."

Eine lustige Vorstellung, aber im täglichen Leben bisher noch nicht vorgekommen. Es muss offenbar eine Lösung geben, die ganz ohne Prüfungen auskommt und trotzdem sicherstellt, dass Zahlen doppelt gezogen werden. Das LEBEN verhindert dies, indem die ermittelte Ziehungszahl aus der Ziehungstrommel entfernt wird. Genau so wollen wir programmtechnisch vorgehen:

/* REXX
*/
arg anz
do while anz < 6 ! anz > 12
   say 'Anzahl zu ziehender Zahlen (6 bis 12):'
   pull anz
end
say
say center("Lotto" anz "aus 49",79,'-')
say
kugeln=""
do idx=1 to 49
   kugeln=kugeln" "idx
end
do idx=1 to anz
   rnd=random(1,words(kugeln))
   var.idx=word(kugeln,rnd)
   kugeln=delword(kugeln,rnd,1)
end
zahlausg=""
do x=1 to 49  /* Sortierte Zahlenausgabe */
   do y=1 to anz
      if x=var.y then zahlausg=zahlausg" "var.y
   end
end
say center(zahlausg,79)
say
say center('Viel Erfolg',79,'-')
exit
zurück zu Fun & More