Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie do lekcji 19

Ostatnio zmodyfikowano 2011-07-03 13:42
Autor Wiadomość
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:
C/C++
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:

C/C++
#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.
P-35232
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();
.
P-35233
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!!!
P-35234
« 1 »
  Strona 1 z 1