zadanie 2 lekcja 21 - program przestał działać
Ostatnio zmodyfikowano 2013-09-08 17:18
Ven_64 Temat założony przez niniejszego użytkownika |
zadanie 2 lekcja 21 - program przestał działać » 2013-09-08 16:46:26 Jak w temacie, mój program przestaje działać, po w wprowadzeniu 10 liczb. Proszę o szybką pomoc. kod: #include <iostream> #include <cstdlib> #include <ctime>
using namespace std; bool sprawdz( int ilemamy, int sprawdzone[], int ktoranspr ) { int x = 0; do { if( ktoranspr == sprawdzone[ x ] ) return false; x++; } while( x < ilemamy ); return true; } int losuj() { return( rand() % 10 ) + 0; } int main() { srand( time( 0 ) ); int liczby[ 10 ]; int k = 0; do { cin >> liczby[ k ]; k++; } while( k < 10 ); int ktora[ 8 ]; losuj(); ktora[ 0 ] = losuj(); int k2 = 0; do { int nspr = losuj(); sprawdz( k2, ktora, nspr ); if( sprawdz( k2, ktora, nspr ) == true ); { k2++; } } while( k2 < 7 ); int q = 0; do { cout << liczby[ ktora[ q ] ]; q++; } while( q < 8 ); return 0; }
|
|
killjoy |
» 2013-09-08 17:18:01 Przypisujesz wartość tylko pierwszemu elementowi tablicy: ktora[ 0 ] = losuj(); , reszta elementów zawiera śmieci, których wartość wychodzi poza zakres tablicy liczby[ ktora[ q ] ] . Przypisz wartości każdemu elementowi z osobna w tablicy int ktora[ 8 ]; , albo zainicjalizuj ją tak int ktora[ 8 ] = { }; , co spowoduje, że tablica będzie wypełniona zerami. #EDIT# Zapomniałem dopisać żebyś wyrzucił ten średnik po if'ie if( sprawdz( k2, ktora, nspr ) == true );
{ k2++; }
|
|
« 1 » |