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

Losowanie bez powtórzeń

Ostatnio zmodyfikowano 2016-01-13 22:14
Autor Wiadomość
reg_edit
Temat założony przez niniejszego użytkownika
Losowanie bez powtórzeń
» 2016-01-13 22:14:06
C/C++
#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?
P-143479
« 1 »
  Strona 1 z 1