generateLotteryNumbers(5, 90);
generateLotteryNumbers( hanyaslotto=5, tartomany=90 )
{
#define MAX_LOTTERY_NUMBERS 7
new
szamok[ MAX_LOTTERY_NUMBERS ], vege[128], vege_seged[16], csere_seged,
i, k, x, j, w, c
;
for(k = 0; k < hanyaslotto; k++) {
szamok[k] = random((tartomany+1) - 1) + 1;
for(c = k-1; c >= 0; c--)
{
if(k != 0) {
w = c;
while(szamok[w++] == szamok[k]) szamok[k] = random((tartomany+1) - 1) + 1;
}
}
}
for( i = 0 ; i < hanyaslotto-1; i++) {
for(j = ( hanyaslotto - 1 ) ; j >= ( i + 1 ); j--) {
if(szamok[j] < szamok[j - 1]) {
csere_seged = szamok[j];
szamok[j] = szamok[j-1];
szamok[j-1] = csere_seged;
}
}
}
for(x = 0; x < hanyaslotto; x++) {
if( x < ( hanyaslotto - 1 ) ) format(vege_seged, sizeof vege_seged, \"%d, \", szamok
generateLotteryNumbers( hanyaslotto=5, tartomany=90 )
{
#define MAX_LOTTERY_NUMBERS 7 // Max ennyi számot generálhatok le
new
szamok[ MAX_LOTTERY_NUMBERS ], vege[128], vege_seged[16], csere_seged, // egyéb deklarálások
i, k, x, j, w, c // ciklusokhoz változók deklarálása
;
for(k = 0; k < hanyaslotto; k++) // Ciklust futtatok, ebben generálom a \'tartomány\' és 1 közti számokat. 5-ös lottónál: 90, 6-osnál: 45, 7-esnél: 35
{
szamok[k] = random((tartomany+1) - 1) + 1; // Generálás
for(c = k-1; c >= 0; c--) // Ciklust futtatok, itt nézem meg az egyezéseket
{
if(k != 0) // Az elsõnél nem kell az ellenõrzés
{
w = c; // segédváltozó feltöltése \'c\' értékével
while(szamok[w++] == szamok[k]) szamok[k] = random((tartomany+1) - 1) + 1; // Új generálása ha egyezik
}
}
}
for( i = 0 ; i < hanyaslotto-1; i++) // Rendezés ciklusai
{
for(j = ( hanyaslotto - 1 ) ; j >= ( i + 1 ); j--) // j = ha pl 5-ös lottó, akkor 4 lesz a j értéke. Ciklus addig amíg j >= i+1, és csökkentjük a j értékét
{
if(szamok[j] < szamok[j - 1]) // Ja a számok[j] kissebb mint a számok[j-1] akkor cseréljük a számokat, ezáltal rendezzük azokat
{
/*
A cserét úgy kell felfogni, mint ha lenne 3 poharad, de ebbõl csak kettõ van tele.
A bögrében sör van, a korsóban pedig tej, a harmadik pohárban pedig nincs semmi. Te fel szeretnéd cserélni úgy hogy a bögrében
tej legyen, a korsóban pedig sör.
A korsóból a tejet beleöntöd az üres pohárba, a bögrébõl a sört átöntöd a korsóba, a pohárból a tejet pedig bele a bögrébe.
*/
csere_seged = szamok[j]; // Beleöntöm az üresbe a sört, ezáltal a szamok[j] \'üres\' lesz, de vigyázat, mert csak képletesen mondom, a régi értéke még megmarad.
szamok[j] = szamok[j-1]; // Beleöntöm a \'szamok[j]\'-be a tejet, a \'szamok[j-1]\' \"üresnek\" tekinthetõ
szamok[j-1] = csere_seged; // a pohárból átöntön a korsóba a sört. Kész is.
}
}
}
for(x = 0; x < hanyaslotto; x++) // Ebben a ciklusban a \'vege\' stringhez csatolom a \'segéd\'eket.
{
if( x < ( hanyaslotto - 1 ) ) format(vege_seged, sizeof vege_seged, \"%d, \", szamok
random(tartomany - 1) + 1;[/quote]
Mert így a szkriptben szereplõ 90-es számot sose fogja kisorsolni.
szamok[k] = random((tartomany+1) - 1) + 1;[/quote]
szamok[k] = random(tartomany) + 1;