Lekcja 21, drugie zadanie domowe - program przestaje działać
Ostatnio zmodyfikowano 2016-06-23 09:43
magic_rainbow Temat założony przez niniejszego użytkownika |
Lekcja 21, drugie zadanie domowe - program przestaje działać » 2016-06-22 21:19:08 Hey, mam prośbę - wytknijcie mi mój błąd. Program przestaje działać przy końcowym wypisywaniu wylosowanych 8 liczb z 10 podanych przez użytkownika. #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
float losuj() { return( rand() % 10 ) + 1; }
bool czybyla( int t[], int wylosowanych, int liczba ) { int i = 0; if( liczba < 0 ) return false; do { if( t[ i ] == liczba ) return true; i++; } while( i < 8 ); return false; }
int wypisz( int t[] ) { int i = 0; do { cout << t[ i ] << endl; i++; } while( i < 8 ); }
float pobierz() { int i; cin.clear(); cin.sync(); cin >> i; return i; }
int main() { srand( time( 0 ) ); int tablica[ 10 ]; int tablica2[ 8 ]; int liczba = 0; int wylosowanych = 0; do { liczba = pobierz(); tablica[ wylosowanych ] = liczba; wylosowanych++; } while( wylosowanych < 10 ); cout << endl; wylosowanych = 0; do { liczba = losuj(); if( czybyla( tablica2, wylosowanych, liczba ) == false ) tablica2[ wylosowanych ] = liczba; wylosowanych++; } while( wylosowanych < 8 ); liczba = 0; wylosowanych = 0; do { liczba = tablica2[ wylosowanych ]; cout << tablica[ liczba ] << endl; wylosowanych++; } while( wylosowanych < 8 ); return 0; } |
|
jankowalski25 |
» 2016-06-22 21:22:37 int wypisz( int t[] ) { int i = 0; do { cout << t[ i ] << endl; i++; } while( i < 8 ); } |
Nie zwracasz żadnej wartości. float pobierz() { int i; cin.clear(); cin.sync(); cin >> i; return i; } |
Chcesz zwrócić int czy float ? float losuj() { return( rand() % 10 ) + 1; } |
Dlaczego float ? if( czybyla( tablica2, wylosowanych, liczba ) == false ) tablica2[ wylosowanych ] = liczba;
wylosowanych++; |
Co się stanie, gdy liczba już była wylosowana? |
|
carlosmay |
» 2016-06-22 21:39:09 liczba = tablica2[ wylosowanych ]; cout << tablica[ liczba ] << endl;
|
Pomijam już uwagi @jankowalski25 o niezgodności typów. Tzn. promocja int do float zachodzi, ale trzeba mieć świadomość co się piszę. |
|
magic_rainbow Temat założony przez niniejszego użytkownika |
Ok » 2016-06-23 09:43:30 Ok, już wszystko załapałem. Wielkie dzięki za wytłumaczenie problemu. |
|
« 1 » |