Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 21] Sprawdzanie powtórzeń losowanych liczb

Ostatnio zmodyfikowano 2015-10-28 18:26
Autor Wiadomość
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ą.

C/C++
#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;
    //cin >> liczba[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;
       
    }
}
P-139288
carlosmay
» 2015-10-28 17:56:46
} while( j > i );
 warunek jest zły.
P-139294
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.
P-139300
« 1 »
  Strona 1 z 1