"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

c++ newbie (6 aus 45, randomize)

JOJO 07.01.2004 - 20:01 678 4
Posts

JOJO

Little Overclocker
Registered: Oct 2001
Location: asdf
Posts: 62
will lotto zeug programmieren weiss aber ned wie ichs zeilensparend beim zahlen vergleichen mach damit keine doppelten zahlen kommen


könnt ma wär helfen bei dem kleinen programm?

xdfk

pädagogisch wertvoll
Avatar
Registered: Sep 2000
Location: Graz
Posts: 6441
wenn er eine zahl zieht die schon vorgekommen ist lass einfach nochmal ziehen. bei 6 aus 45 is die chance ja net sooo hoch dass das passiert. wuerd ich aber als dirty little hack bezeichnen.. dafuer zeilensparend und das wolltest ja ;)

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11332
Das einfachste wird sein, du speicherst die bereits gezogenen Zahlen in einem Set und ziehst bei doppelten Zahlen einfach nochmal.

Code:
#include <set>

...

set<int> bereits_gezogen;

...

do {
  int zahl = Zufallszahl();
} while (bereits_gezogen.find(zahl) != bereits_gezogen.end());
bereits_gezogen.insert(zahl);

...

JOJO

Little Overclocker
Registered: Oct 2001
Location: asdf
Posts: 62
Zitat von xdfk
wenn er eine zahl zieht die schon vorgekommen ist lass einfach nochmal ziehen.

wie?!


btw 1 klasse htl^^ bzw sitz ich grad in da abendschule somit schaut das bissl blöd aus wenn da ein supa code steht den ich eigentlich noch nicht können dürfte^^

JOJO

Little Overclocker
Registered: Oct 2001
Location: asdf
Posts: 62
hab schon thx!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz