Lotto
Ostatnio zmodyfikowano 2011-03-18 20:26
zabik Temat założony przez niniejszego użytkownika |
Lotto » 2011-03-16 21:33:07 No więc zaczełem powtarzać sobie cpp za pomocą kursu Xiona "Od zera do gier kodera". Tam w jednej z lekcji "lekcji" omawia on tablice i na przykład pokazuje on kod takiej prostej gry lotto. No po około 4 min może nawet mniej wykodziłem dokładnie taki sam kod jaki był w tutorialu i zamiast wyświetlenia 6 losowych liczb wyświetliły mi się liczby od 0 do 5. Bo około 20 min sprawdzania doszłem do wniosku że lepiej sprawdzić czy owy kod działa i przekopiowałem go a pomimo to wciąż zamiast zamierzonego efektu otrzymuje program w który wyświetla mi liczby od 0 do 5. Chciałbym się dowiedzieć czy w kursie zawarty jest jakiś błąd itp. Oto kod:
const unsigned ILOSC_LICZB = 6;
const int MAKSYMALNA_LICZBA = 49;
void main()
{ unsigned aLiczby[ ILOSC_LICZB ]; for( int i = 0; i < ILOSC_LICZB; ++i ) aLiczby[ i ] = 0; srand( static_cast < int >( time( NULL ) ) ); for( int i = 0; i < ILOSC_LICZB; ) { aLiczby[ i ] = rand() % MAKSYMALNA_LICZBA + 1; bool bPowtarzaSie = false; for( int j = 0; j < i; ++j ) { if( aLiczby[ j ] == aLiczby[ i ] ) { bPowtarzaSie = true; break; } } if( !bPowtarzaSie ) ++i; } std::cout << "Wyniki losowania:" << std::endl; for( int i = 0; i < ILOSC_LICZB; ++i ) std::cout << aLiczby[ i ] << " "; getch(); } |
|
BlackDante |
» 2011-03-16 21:39:43 nie powinno być: for( int i = 0; i < ILOSC_LICZB; ++i )
std::cout << aLiczby[ i ] << " ";
? |
|
zabik Temat założony przez niniejszego użytkownika |
» 2011-03-16 21:40:38 Ok zaraz sprawdzę. Prawie bym zapomniał używam Microsoft Visual C++ Express 2010 czy jakoś tak ;p |
|
ThudPoland |
» 2011-03-16 21:41:25 SOA#1 U mnie działa (po przeróbkach). Jednak zastanawiam się nad jednym - jak ty to człowieku skompilowałeś?!? Przecież masz podstawowy błąd: aLiczba
aLiczba[ Indeks ] |
|
zabik Temat założony przez niniejszego użytkownika |
» 2011-03-16 21:42:55 Wciąż wyświetla się to samo. @ThudPoland Normalnie? |
|
ThudPoland |
» 2011-03-16 21:44:42 Dziwne. Mam losowy output: 48 28 21 41 36 16 39 10 33 17 41 1 Wszystko działa. |
|
zabik Temat założony przez niniejszego użytkownika |
» 2011-03-16 21:47:41 Kurde jestem nowy na tym serwisie i nie wiem jak pisać tak aby wyświetlił się kod normalnie mam takie coś
aLiczba xix = 0; tam gdzie umieściłem x znajduje się [ albo ] ;p tylko nie wiem dlaczegu tu niechce się wyświetlić. |
|
ThudPoland |
» 2011-03-16 21:52:49 #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h> using namespace std; const unsigned ILOSC_LICZB = 6;
const int MAKSYMALNA_LICZBA = 49; void main()
{ unsigned aLiczby[ ILOSC_LICZB ]; for( int i = 0; i < ILOSC_LICZB; ++i ) aLiczby[ i ] = 0; srand( static_cast < int >( time( NULL ) ) ); for( int i = 0; i < ILOSC_LICZB; ) { aLiczby[ i ] = rand() % MAKSYMALNA_LICZBA + 1; bool bPowtarzaSie = false; for( int j = 0; j < i; ++j ) { if( aLiczby[ j ] == aLiczby[ i ] ) { bPowtarzaSie = true; break; } } if( !bPowtarzaSie ) ++i; } std::cout << "Wyniki losowania:" << std::endl; for( int i = 0; i < ILOSC_LICZB; ++i ) std::cout << aLiczby[ i ] << " "; getch(); } Nie wiem czy to coś poprawi ale skompiluj mój poprawiony kod. Także mam Viżula. Aha. Następnym razem użyj znaczników serwisu: [code src="C + +"] kod [/code] |
|
« 1 » 2 |