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 » |