Lekcja 21 - Zadanie 1
Ostatnio zmodyfikowano 2013-09-10 19:21
Matzel Temat założony przez niniejszego użytkownika |
Lekcja 21 - Zadanie 1 » 2013-09-03 20:46:44 Witam, Napisałem coś takiego, jak poniżej, problem w tym, że nic się nie wyświetla (dosłownie nic), wydaje mi się, że w funkcji bool sprawdzanie, cały program się zapętla, bo losuje po kilka razy tą samą liczbę i dlatego nie idzie dalej. Pytanie, czy dobrze myślę, czy może problem jest gdzieś indziej? Jeśli mam rację, czy da się coś z tym zrobić, czy założenie jest niepoprawne i muszę to napisać inaczej? #include <iostream> #include <ctime> #include <cstdlib>
using namespace std;
int losowanie() { srand( time( 0 ) ); return( rand() % 10 ) + 1; }
bool sprawdzanie( int liczba, int tab, int i ) { do { if( liczba != tab ) i++; else sprawdzanie; } while( i < 5 || true ); }
int main() { int wylosowane[ 5 ]; int i = 0; int nowaLiczba = losowanie(); do { if( sprawdzanie( nowaLiczba, wylosowane[ 5 ], i ) == true ) wylosowane[ i ] = losowanie(); i++; } while( i < 5 ); do { cout << "Liczby to " << wylosowane[ i ] << endl; i++; } while( i < 5 ); }
|
|
killjoy |
» 2013-09-03 20:56:13 Ciężko żeby się nie zapętlił, skoro w while( i < 5 || true ) dałeś sume logiczną z true , więc wyrażenie zawsze będzie prawdziwe. |
|
akwes |
» 2013-09-03 21:00:23 int losowanie() { srand( time( 0 ) ); return( rand() % 10 ) + 1; }
Nie. Nie tak się używa srand. Pseudolosowe liczby całkowite Wielka, czerwona ramka. |
|
Matzel Temat założony przez niniejszego użytkownika |
» 2013-09-03 21:34:03 faktycznie, już sam się zamotałem trochę z tym kodem :) Poprawiłem, mimo wszystko efekt ten sam :/ |
|
akwes |
» 2013-09-03 21:39:07 Obie rady poprawiłeś oczywiście? Dodatkowo dodam, że do funkcji sprawdź nie przesyłasz tablicy a jedynie piąty jej element.
if( liczba != tab ) i++; else sprawdzanie;
|
To raczej nie jest to co czym myślałeś. |
|
Matzel Temat założony przez niniejszego użytkownika |
» 2013-09-10 19:21:50 Przepraszam, że dopiero teraz odpisuje, ale praca mnie ostatnio nagli. Tak, poprawiłem obydwie. Ostatnio sporo czytam i zaczynam przebudowywać swój kod :) Mam nadzieję, że zadziała. |
|
« 1 » |