[Lekcja 21] Sprawdzanie powtórzeń losowanych liczb
Ostatnio zmodyfikowano 2015-10-28 18:26
Matei Temat założony przez niniejszego użytkownika |
[Lekcja 21] Sprawdzanie powtórzeń losowanych liczb » 2015-10-28 16:29:58 Witam, mam problem ze sprawdzaniem losowanych liczb. Kiedy robiłem 1 zadanie wtedy wszystko działało poprawnie, ale przy 2 zadaniu liczby się powtarzają. #include<iostream> #include<cmath> #include<ctime> #include<cstdlib> using namespace std;
bool sprawdz( int i, int los[] ) { int j = 0; if( i <= 0 ) return false; do { if( los[ i ] == los[ j ] ) return true; j++; } while( j > i ); return false; }
int main() { int i; int los[ 10 ]; int liczba[ 10 ]; for( i = 0; i < 10; i++ ) liczba[ i ] = i; srand( time( 0 ) ); i = 0; for( int i = 0; i <= 8; ++i ) { do { los[ i ] = rand() % 10 + 1; } while( sprawdz( i, los ) == true ); } for( i = 0; i < 8; i++ ) { if( los[ i ] == 1 ) cout << los[ i ] << " | " << liczba[ 0 ] << endl; else if( los[ i ] == 2 ) cout << los[ i ] << " | " << liczba[ 1 ] << endl; else if( los[ i ] == 3 ) cout << los[ i ] << " | " << liczba[ 2 ] << endl; else if( los[ i ] == 4 ) cout << los[ i ] << " | " << liczba[ 3 ] << endl; else if( los[ i ] == 5 ) cout << los[ i ] << " | " << liczba[ 4 ] << endl; else if( los[ i ] == 6 ) cout << los[ i ] << " | " << liczba[ 5 ] << endl; else if( los[ i ] == 7 ) cout << los[ i ] << " | " << liczba[ 6 ] << endl; else if( los[ i ] == 8 ) cout << los[ i ] << " | " << liczba[ 7 ] << endl; else if( los[ i ] == 9 ) cout << los[ i ] << " | " << liczba[ 8 ] << endl; else if( los[ i ] == 10 ) cout << los[ i ] << " | " << liczba[ 9 ] << endl; } } |
|
carlosmay |
» 2015-10-28 17:56:46 } while( j > i ); warunek jest zły. |
|
Matei Temat założony przez niniejszego użytkownika |
» 2015-10-28 18:26:26 Rzeczywiście, teraz śmiga jak ta lala :) Dziękuje za pomoc. |
|
« 1 » |