005
22.12.2004, 15:22 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zitat von Oliver: |
Ich wollte ne Lottofunktion machen:
C++: |
void GeneriereLottozahlen(char*lottozahlen) { for(int i=0;i<6;++i) { while(1) { ocontinue: lottozahlen[i]=Rnd(49,1); for(int z=0;z<i;++z) if(lottozahlen[z]==lottozahlen[i]) goto ocontinue; break; } } }
|
|
Abgesehen davon, daß der Code sch... ist, kommst Du hier auch ganz ohne goto aus:
C++: |
void GeneriereLottozahlen(char*lottozahlen) { for(int i=0;i<6;++i) { while(1) { lottozahlen[i]=Rnd(49,1); for(int z=0;z<i;++z) if(lottozahlen[z]==lottozahlen[i]) continue; break; } } }
|
Und da ich den Mund so voll nehme, von wegen Sch... und so:
C++: |
int kugeln[49]; for(int i=0; i<49; ++i) kugeln[i]= i+1; std::random_shuffle(kugeln, kugeln+49); std::copy(kugeln, kugeln+6, std::back_inserter(lottozahlen));
|
Macht das gleiche wie Deine Funktion, nur schneller und wesentlich kürzer. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 22.12.2004 um 15:23 Uhr von virtual editiert. |