Zadanie do lekcji 19
Ostatnio zmodyfikowano 2011-07-03 13:42
Prefix Temat założony przez niniejszego użytkownika |
Zadanie do lekcji 19 » 2011-07-03 13:02:04 Witam ponownie ;), tym razem mam problem z zadaniem, z rozdziału 19, którego treść brzmi: Napisz program, który wylosuje 999 liczb całkowitych z zakresu od 4 do 10 włącznie, wypisze te wartości na ekran, po czym zsumuje je i wynik wypisze na ekran. Wszelkie operacje mają zostać zrealizowane w oparciu o funkcje. Tablica ma być zadeklarowana w funkcji main. Oczekiwane funkcje: Wypełnienie tablicy o podanym rozmiarze losowymi liczbami z przedziału podawanego przez argumenty funkcji. Sumowanie określonej ilości liczb znajdujących się w tablicy i zwrot wyniku. Wypisywanie zawartości tablicy. Przykładowa implementacja funkcji main: int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; }
Mój kod wygląda następująco: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; void wylosujLiczby( int tablica[], int ile, int a, int b ) { srand( time( NULL ) ); int licznik = 0; b = b - 5; do { tablica[ licznik ] =( rand() % b ) + a; licznik++; } while( ile > licznik ); }
void wypiszLiczby( int tablica[], int ile ) { int licznik = 0; do { cout << tablica[ licznik ] << ", "; licznik++; } while( ile > licznik ); }
void obliczSume( int tablica[], int ile ) { int licznik = 0; int suma = 0; do { suma += tablica[ licznik ]; licznik++; } while( ile > licznik ); return suma; }
int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; getchar(); return 0; }
Dodatkowo Dev-C++, wywala mi błąd: "return-statement with a value, in function returning 'void'" Wiem, że problem jest z funkcją 'obliczSume', ale nie mogę pojąć jaki ;/. Z góry dzięki za odp. |
|
szyx_yankez |
» 2011-07-03 13:15:58 Dodatkowo Dev - C++, wywala mi błąd: "return-statement with a value, in function returning 'void'" |
Nic dziwnego skoro typ funkcji masz void a próbujesz w niej zwrócić int .
Rozwiązanie:
Zmień:
void obliczSume na int obliczSume .
Po za tym brakuje Ci nagłówka < cstdio > do funkcji getchar(); . |
|
Prefix Temat założony przez niniejszego użytkownika |
» 2011-07-03 13:42:28 O.o, jak ja mogłem tego nie zauważyć ;/. Dzięki wielkie!!! |
|
« 1 » |