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

losowanie bez powtórzeń

Ostatnio zmodyfikowano 2012-11-28 22:36
Autor Wiadomość
przemko06
Temat założony przez niniejszego użytkownika
losowanie bez powtórzeń
» 2012-11-28 00:20:41
Bardzo proszę o pomoc. Nie wiem co zrobiłem źle, nie mogę do tego dojść :( po prostu nie działa sprawdzanie, czy liczba już nie została wylosowana.
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

bool sprawdzanie( int tab[], int wylosowana, int lp1 )
{
    if( lp1 <= 0 );
   
    return true;
   
    int p = 0;
   
    do
    {
       
        if( tab[ p ] == wylosowana );
       
        return false;
       
        p++;
       
    } while( p < lp1 );
   
   
    return true;
}
int losujeliczbe( int od, int iloscliczb )
{
    int los;
    los =(( rand() % iloscliczb ) + od );
    return los;
}

int main()
{
    srand( time( NULL ) );
   
    int losuje;
    int zbior[ 5 ];
    int lp = 0;
   
    do
    {
        losuje = losujeliczbe( 1, 10 );
       
        if( sprawdzanie( zbior, losuje, lp ) == true );
       
        {
            zbior[ lp ] = losuje;
            lp++;
        }
       
       
    } while( lp < 5 );
   
    int p = 0;
   
    do
    {
        cout << zbior[ p ] << endl;
        p++;
    } while( p < 5 );
   
}
P-70032
crash
» 2012-11-28 19:17:06
Nie wiem czemu C++ na taki myk pozwala, ale stawiania średnika tuż za nawiasem kończącym if'a przechodzi bez żadnego krzyku. Wtedy nie wykonuje się instrukcja dla true, bo po prostu jej nie ma. Usuń średniki po nawiasach kończących instrukcje warunkowe, to będzie banglało.
P-70080
przemko06
Temat założony przez niniejszego użytkownika
» 2012-11-28 22:36:16
Ale żałosny błąd popełniłem :/ Aż wstyd. Tylko że głupia trochę sprawa że program nie daje infa o tym, albo że bład.
Dzięki za pomoc!
P-70094
« 1 »
  Strona 1 z 1