[Lekcja 19] Problem z zadaniem.
Ostatnio zmodyfikowano 2012-05-20 16:08
wormst Temat założony przez niniejszego użytkownika |
[Lekcja 19] Problem z zadaniem. » 2012-05-20 13:11:09 Witam. Ponieważ nie mam już pomysłów co mogłem zrobić źle w tym kodzie skierowałem się tutaj. Także uprzejmie proszę o wskazanie błędu. #include <iostream> #include <ctime> #include <cstdlib>
int wylosujLiczby( int t[], int max, int od, int ile ) { srand( time( NULL ) ); int id; int pomocna = ile + 1; int dokad = pomocna - od; do { t[ id ] =(( rand() % dokad ) + od ); id++; } while( id < max ); }
int wypiszLiczby( int t[], int max ) { int id; do { std::cout << t[ id ] << std::endl; id++; } while( id < max ); }
int obliczSume( int t[], int max ) { int suma = 0; int id = 0; do { suma += t[ id ]; id++; } while( id < max ); return suma; }
int main() { int tablica[ 20 ]; wylosujLiczby( tablica, 20, 4, 10 ); wypiszLiczby( tablica, 20 ); int iSuma = obliczSume( tablica, 20 ); std::cout << "Suma liczb wynosi: " << iSuma; return 0; }
No tak, przeprzaszam, program sie kompiluje ale nie uruchamia się tylko wyskakuje błąd że "program przestał działać". |
|
SeaMonster131 |
» 2012-05-20 13:23:06 Nie jesteśmy wróżkami, dlatego napisz jeszcze jaki to błąd.. |
|
flex55 |
» 2012-05-20 15:01:23 wylosujLiczby wypiszLiczby - te dwie funkcje w definicji mają podane, że zwracają typ int, w ciele funkcji nie ma instrukcji return, a w funkcji main gdzie wywołujesz dane funkcje nie przypisujesz zwracanej wartości żadnemu elementowi. Albo po prostu jak funkcje nie mają zwracać czegokolwiek to zamiast int w definicji daj void. |
|
OSA_PL |
» 2012-05-20 15:58:32 W funkcjach 'wylosujLiczby' i 'wypiszLiczby' zeruj zmienną 'id', bo być może przekraczasz wymiary tablicy. |
|
wormst Temat założony przez niniejszego użytkownika |
» 2012-05-20 16:08:29 Dzięki za pomoc, wszystko już ładnie działa :) |
|
« 1 » |