[Lekcja 19] Problem z wypisywaniem lub losowaniem liczb
Ostatnio zmodyfikowano 2013-08-03 07:32
Snaki Temat założony przez niniejszego użytkownika |
[Lekcja 19] Problem z wypisywaniem lub losowaniem liczb » 2013-08-02 18:06:43 Witajcie. Krótko i na temat. Po uruchomieniu kodu, który napisałem poniżej, wypisuje mi tylko jedną liczbę, zamiast 999. Od razu mówię, że zadanie z lekcji 18. zrobiłem 'perfekcyjnie'. Niedziałający dobrze kod: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int losowanie( int tablica[], int od, int ile ) { int i = 0; do { tablica[ i ] =(( rand() % od ) + ile ); i++; } while( i > 999 ); }
int wypisz( int tablica[] ) { int i = 0; do { cout << tablica[ i ] << ", "; i++; } while( i > 999 ); }
int policz( int tablica[] ) { int i = 0; int e; do { e = e + tablica[ i ]; i++; } while( i > 999 ); cout << endl; cout << "Wynik: " << e << endl; }
int main() { srand( time( NULL ) ); int tablica[ 999 ]; int i; losowanie( tablica, 999, 7, 4 ); wypisz( tablica ); policz( tablica ); return 0; }
Kod z lekcji 18., który działa dobrze: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int liczby[ 999 ]; int i = 0; do { liczby[ i ] =(( rand() % 7 ) + 4 ); i++; } while( i < 999 ); cout << endl; i = 0; do { cout << liczby[ i ] << ", "; i++; } while( i < 999 ); cout << endl; int wynik = 0; i = 0; do { wynik = wynik + liczby[ i ]; i++; } while( i < 999 ); cout << "Wynik: " << wynik << endl; return 0;
Proszę o pomoc, nic nie mogę wymyślić... :( |
|
MrPoxipol |
» 2013-08-02 19:58:57 Masz zły warunek w pętlach while. Ma być 'dokpóki będzie mniejsze od 999'. |
|
Snaki Temat założony przez niniejszego użytkownika |
Prosty błąd. » 2013-08-03 07:32:00 Masz racje, taki prosty błąd... Temat do zamknięcia. :) |
|
« 1 » |