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

[Rozdział 19] Problem z pracą domową.

Ostatnio zmodyfikowano 2014-03-18 15:46
Autor Wiadomość
FIGUS
Temat założony przez niniejszego użytkownika
[Rozdział 19] Problem z pracą domową.
» 2014-03-18 14:49:11
Witam
Tekst pracy domowej:
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;
}

Napisałem taki program:
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>

int wylosujLiczby( int t[], int ilosc, int start, int stop )
{
    srand( time( NULL ) );
    do
    {
        t[ ilosc ] =( rand() %( stop + 1 - start ) + start );
       
        ilosc--;
    } while( ilosc == 0 );
   
    return t[ ilosc ];
   
}

int wypiszLiczby( int t[], int ilosc )
{
    do
    {
        std::cout << "Los: " << t[ ilosc ] << std::endl;
       
        ilosc--;
    } while( ilosc == 0 );
   
}

int obliczSume( int t[], int ilosc )
{
    int wynik = 0;
    do
    {
        wynik += t[ ilosc ];
        ilosc--;
    } while( ilosc == 0 );
   
    return wynik;
}

int main()
{
    srand( time( NULL ) );
   
    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;
}

A tutaj to co wyświetla się w oknie konsoli:
Los: 9
Suma liczb wynosi: 9

Nie wiem gdzie zrobiłem błąd, proszę o pomoc.
P-106692
pekfos
» 2014-03-18 15:30:54
Wszystkie pętle i odwołania do tablic są złe.
P-106694
leon_w
» 2014-03-18 15:37:25
C/C++
} while( ilosc == 0 );

Oznacza mniej-więcej: wykonuj(kod zawarty w pętli) tak długo, dopóki zmienna "ilość" jest równa 0.
P-106696
FIGUS
Temat założony przez niniejszego użytkownika
» 2014-03-18 15:46:07
Leon, dzięki, że mi na to zwróciłeś uwagę, teraz wszystko hula :) Temat do zmknięcia.
P-106698
« 1 »
  Strona 1 z 1