matematykaszkolna.pl
losowanie bez powtorzen w c++ amator: czy moglby mi ktos pomoc z napisaniem programu, ktory losuje liczby bez powtorzen? napisalem narazie taki kod : #include <iostream> #include <windows.h> #include <time.h> #include <conio.h> using namespace std; int main(){ cout << "\t\t\t\t ***LOTTO***\n\n\n"; int wylosowanaliczba[6]; srand(time(NULL)); cout << "Nacisnij dowolny klawisz aby rozpoczac"; getch(); system("cls"); cout << "LOSOWANIE ROZPOCZETE!: \n"; for(int i=0;i<=5;i++) { wylosowanaliczba[i] = rand()%49+1; if(wylosowanaliczba[i]) Sleep(600); cout << wylosowanaliczba[i] << "\t"; } }
12 cze 00:28
jc: Kolejno losujesz 1 z 49, 1 z 48, 1 z47, 1 z 46, 1 z 45 , 1 z 44 Jeśli wysowana liczba jest wśród wcześniej wylosowanych bierzesz o jeden większą a jeśli znów jest, to o dwa większą, ... −−−− Prostsze (choć równoważne rozwiązanie) rozwiązanie. int tab[49]; for(int k = 0; k<49; k++) tab[k]=k+1; for(int i = 0; i < 6; i++) { c = rand()% (49−i); wylosowana[i] = tab[c]; tab[c] = tab[48−i]; }
12 cze 07:56