Lekcja 18 - W kosnoli nic się nie pokazuje
Ostatnio zmodyfikowano 2012-04-08 10:13
Vendi Temat założony przez niniejszego użytkownika |
Lekcja 18 - W kosnoli nic się nie pokazuje » 2012-04-06 13:32:24 Mój kod: #include <iostream> #include <cstdlib> #include <ctime> int main() { srand( time( NULL ) ); int liczba[ 999 ]; int licznik; int dodatek; licznik = 0; do { liczba[ licznik ] =(( rand() % 10 ) + 3 ); licznik++; } while( licznik <= 999 ); licznik = 0; dodatek = 0; do { std::cout << "Liczby: " << liczba[ licznik ] << " [" << dodatek << "]" << std::endl; licznik++; dodatek++; } while( licznik <= 999 ); return 0; }
Czemu jak odpale program to nic nie mam w konsoli? |
|
kampar |
» 2012-04-06 13:49:38 a czy program kończy swoje działanie?
Powinno być while( licznik < 999 ); |
|
jsc |
» 2012-04-06 14:21:09 Bo cały tekst bardzo szybko przelatuje przez konsolę i się zamyka.
By go zobaczyć trzeba przytrzymać wykonywanie programu np. komendą system ("PAUSE"); |
|
Matti |
» 2012-04-06 15:54:06 Komendą ( licznik <= 999 )
wychodzisz poza zakres tablicy. Będzie segmentation fault. Twoja tablica ma 999 pojemności, licząc od 0 ostatnim elementem tablicy jest 998. |
|
Vendi Temat założony przez niniejszego użytkownika |
» 2012-04-06 23:47:08 Dobra ok, poprawiłem wykroczenie z tablicą ale zawsze losuje mi liczb od 703 do 998. Czemu nie 998 liczb? |
|
stasziel |
» 2012-04-07 00:34:01 Usuń z programu << std::endl to się przekonasz, że jednak liczy wszystko. |
|
RazzorFlame |
» 2012-04-07 10:34:54 liczba[ licznik ] =(( rand() % 10 ) + 3 ); Taa jasne od 703 do 998... |
|
stasziel |
» 2012-04-08 00:08:11 liczba[ licznik ] =(( rand() % 10 ) + 3 ); Taa jasne od 703 do 998...
| RazzorFlame - uruchom to sobie to się przekonasz, że zadziała. rand() daje tu wartości od 0 do 32767, a reszta z dzielenia przez 10 jak będzie wyglądać? Vendi`emu chodziło o to, że w konsoli widzi tylko wyniki od 703 do 998, bo każda liczba wyświetla się w nowej linijce. Dlatego napisałem mu, żeby usunął przejście do nowej linii. |
|
« 1 » 2 |