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

Dziwne generowanie liczb - zadanie domowe z funkcji i tablic jednowymiarowych. (lekcja 19)

Ostatnio zmodyfikowano 2014-08-28 20:51
Autor Wiadomość
Szustarol
Temat założony przez niniejszego użytkownika
Dziwne generowanie liczb - zadanie domowe z funkcji i tablic jednowymiarowych. (lekcja 19)
» 2014-08-28 20:31:49
Witam napotkałem problem w zadaniu domowym z lekcji 19. Oto kod mojego programu:

#include <iostream>
#include <ctime>
#include <cstdlib>

int wylosujLiczby( int *tablica, int ilosc, int low, int high)
{
    int licznik = 0;
    int przedzial = high-low;
    srand(time( NULL ) );
    do
    {
        tablica [licznik] == ((std::rand() % przedzial ) + low );
        licznik ++;
    }while (licznik <ilosc);
    return *tablica;
}

int wypiszLiczby( int *tablica, int ilosc)
{
    int licznik = 0;
    do
    {
        std::cout << tablica [licznik] << std::endl;
        licznik ++;
    }while (licznik <ilosc);
    return 0;
}

int obliczSume( int *tablica, int ilosc)
{
    int licznik = 0;
    int wynik = 0;
    do
    {
        wynik += tablica[licznik];
        licznik ++;
    }while (licznik < ilosc);
    return wynik;
}

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;
}

wszystko działa, funkcje też, niestety liczby nie są generowane poprawnie- zamiast liczb z przedziału 4-10 są generowanie liczby z niesamowicie ogromnej skali, zarówno dodatnie jak i ujemne. Chwile szukałem rozwiązania, ale jakoś nie mogę znaleźć luki w kodzie.
P-116338
Monika90
» 2014-08-28 20:50:07
C/C++
tablica[ licznik ] ==(( std::rand() % przedzial ) + low );
nie ten operator co trzeba
P-116341
Szustarol
Temat założony przez niniejszego użytkownika
» 2014-08-28 20:51:29
dzięki, problem rozwiązany
P-116342
« 1 »
  Strona 1 z 1