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

Problem z liczbami pseudolosowymi

Ostatnio zmodyfikowano 2016-10-16 22:49
Autor Wiadomość
mkpplayer
Temat założony przez niniejszego użytkownika
Problem z liczbami pseudolosowymi
» 2016-10-16 19:54:33
Mam problem ponieważ staram sie napisać program który nie powtorzy liczby po wylosowaniu. niestety nieskuteczni.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int los()
{
    return( rand() % 5 ) + 1;
}
bool spr( int tab[], int liczba, int ile )
{
    if( ile <= 0 )
         return false;
   
   
    int i = 0;
    do
    {
        if( tab[ i ] == liczba )
             return true;
       
        i++;
    } while( i < ile );
   
    return false;
}


int main()
{
    srand( time( 0 ) );
    int tab[ 5 ];
    int i = 0;
    int ile = 0;
    do
    {
        int liczba = los();
        if( spr( tab, liczba, ile ) == false )
        {
            tab[ i ] = liczba;
            i++;
        }
    } while( i < 5 );
   
    i = 0;
    do
    {
        cout << tab[ i ] << endl;
        i++;
    } while( i < 5 );
   
    return 0;
   
   
}
P-152595
michal11
» 2016-10-16 21:10:01
Twoje ile jest zawsze równe zero więc zawsze sprawdzasz tylko pierwszy element tablicy.
P-152597
mkpplayer
Temat założony przez niniejszego użytkownika
» 2016-10-16 22:05:08
Wiem że jest. Wziąłem to z kursu. Liczyłbym bardziej na pomoc co należy zmienic aby program działał poprawnie ;)
P-152598
michal11
» 2016-10-16 22:34:41
Tak modyfikuj wartość ile żeby zawsze odpowiadała faktycznej ilości liczb w tablicy.
P-152599
mkpplayer
Temat założony przez niniejszego użytkownika
» 2016-10-16 22:49:58
Dzięki za trafną uwagę :)
P-152600
« 1 »
  Strona 1 z 1