[C++] Program do losowania, źle działa


(Puczi19021998) #1

Witajcie, jestem słaby w programowaniu (o ile mój stopień można tak nazwać), uczę się z kursu i mam problemy z programem do losowania, który napisałem. Program ma losować 999 liczb, wyświetlić je i zsumować, ale po skompilowaniu, wyświetla jedną liczbę i sumę 0. A wygląda on tak:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <conio.h>
using namespace std;

void wylosujLiczby( int tablica[999] , int licznik, int minimalna, int maksymalna)
{
    srand( time( NULL ));
    licznik - 999;
    do
    {
        tablica[licznik] = (rand() % (maksymalna - minimalna + 1)) + minimalna;
        licznik++;
    }while(licznik < 999);
}

void wypiszLiczby( int tablica[999] , int licznik)
{
    licznik - 999;
    cout << "Oto liczby: ";
    do
    {
        cout << tablica[licznik] << ", ";
        licznik++;
    }while(licznik < 999);
}

int obliczSume(int tablica[999] , int licznik)
{
    int a;
    a = 0;
    licznik - 999;
    do
    {
        a + tablica[licznik];
        licznik++;
    }while(licznik < 999);
    return a;
}

int main()
{
    int tablica[999];
    wylosujLiczby( tablica, 999, 4, 10 );
    wypiszLiczby( tablica, 999 );
    int iSuma = obliczSume ( tablica, 999 );
    cout << "Suma liczb wynosi: " << iSuma << endl;
    getch();
    return 0;
}

To jest wersja podstawowa, którą mam zamiar przerobić, żeby była możliwość wybrania opcji, wyświetlenia danego zakresu liczb wylosowanych (np. od pięćdziesiątej do setnej) i zsumowania ich.

 

Długo się nad tym zastanawiam, ale nadal nie wiem co mam zrobić, żeby wyświetliło wszystkie liczby i je zsumowało. Prosiłbym o pomysły i z góry za nie dziękuję.


(kalitt) #2

Zamiast do...while użyj for

licznik - 999 powinno być licznik -= 999


(Puczi19021998) #3

Dzięki, wyświetlanie działa, ale zastanawiam się jak przestawić sumowanie na for, miałbyś jakąś radę?


(kalitt) #4
int obliczSume(int tablica[999] , int licznik)
{
int a;
a = 0;
for(int i = 0;i<liczbnik;i++)

{
a += tablica[i];
}
return a;
}

(Puczi19021998) #5

Dzięki wielkie, wszystko działa.