[ Lekcja 21 ] Zadanie 2
Ostatnio zmodyfikowano 2012-04-20 18:08
Bimbol Temat założony przez niniejszego użytkownika |
[ Lekcja 21 ] Zadanie 2 » 2012-04-18 22:03:35 Witam. Napisałem warunek dla sprawdzania czy liczba się nie powtarza. Program działa, ale nic sie nie wyświetla, a jak dałem cout by sprawdzić co losuje to losuje mi jedno a to samo i program kończy pracę. Być może źle zrozumiałem lekcje 20. Sprawdzałem warunek pisząc sobie na kartce wyniki, ale sprawdzałem to według 'swojej' logiki i nie wiem czy jest słuszna. Proszę oto kod. #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void info() { cout << "Wypisz 10 liczb na ekran:" << endl; }
bool los_spraw( int liczba[], int sprawdz[] ) { int i = 0; int nr = 0; bool wynik; do { cin >> liczba[ i ]; i++; } while( i < 10 ); i = 0; do { do { liczba[(( rand() % 10 ) + 0 ) ] == sprawdz[ nr ]; cout << sprawdz[ nr ] << ", " << endl; if( nr == 0 ) return wynik == true; i = 0; do { if( sprawdz[ nr ] == sprawdz[ i ] ) return wynik == false; i++; } while( wynik == true || i < nr ); } while( wynik == false || i < nr ); nr++; } while( nr < 8 ); nr = 0; do { cout << sprawdz[ nr ] << ", "; nr++; } while( nr < 8 ); }
int main() { srand( time( 0 ) ); info(); int liczba[ 10 ]; int sprawdz[ 8 ]; los_spraw( liczba, sprawdz ); cin.clear(); cin.sync(); return 0; } |
|
RazzorFlame |
» 2012-04-19 07:49:36 liczba[(( rand() % 10 ) + 0 ) ] == sprawdz[ nr ]; ??? Porównywanie?? |
|
Bimbol Temat założony przez niniejszego użytkownika |
» 2012-04-19 22:07:38 Zmieniłem to na przypisanie, ale program dalej wyprowadza to samo. |
|
jankowalski25 |
» 2012-04-20 16:04:30 Wyrażenie liczba[(( rand() % 10 ) + 0 ) ] = sprawdz[ nr ]; jest nieprawidłowe, natomiast sprawdz[ nr ] = liczba[(( rand() % 10 ) + 0 ) ]; powinno zadziałać. |
|
Bimbol Temat założony przez niniejszego użytkownika |
» 2012-04-20 18:08:56 Dzięki teraz działa, ale wypisuje mi tylko jedną liczbę. |
|
« 1 » |