Losowanie bez powtórzeń
Ostatnio zmodyfikowano 2016-01-13 22:14
reg_edit Temat założony przez niniejszego użytkownika |
Losowanie bez powtórzeń » 2016-01-13 22:14:06 #include <iostream> #include <ctime> #include <cstdlib>
using namespace std;
int losowanie() { return( rand() % 10 ) + 1; }
bool czy_byla_losowana( int tab[], int numer_spr, int wartosc_spr ) { if( numer_spr <= 0 ) return false; int i = 0; do { if( tab[ i ] == wartosc_spr ) return true; i++; } while( i > numer_spr ); return false; }
int main() { srand( time( 0 ) ); int wylosowane[ 5 ]; int numer_losowanej = 0; do { int liczba = losowanie(); if( czy_byla_losowana( wylosowane, numer_losowanej, liczba ) == false ) { wylosowane[ numer_losowanej ] = liczba; numer_losowanej++; } } while( numer_losowanej < 5 ); cout << "Wylosowane liczby: " << endl; int i = 0; do { cout << wylosowane[ i ] << endl; i++; } while( i < 5 ); return 0; }
Dlaczego program losuje z powtórzeniami? |
|
« 1 » |