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

Sprawdzenie zadania domowego lekcja 19

Ostatnio zmodyfikowano 2014-10-22 14:54
Autor Wiadomość
dafuck17
Temat założony przez niniejszego użytkownika
Sprawdzenie zadania domowego lekcja 19
» 2014-10-19 17:00:06
Treść zadania:
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:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void wylosujLiczby( int liczby[], int licznik, int iod, int ido )
{
    cout << "Losowanie 999 liczb w zakresie od " << iod << "do " << ido << endl;
    do {
        licznik--;
        liczby[ licznik ] =( rand() %( ido - iod ) + iod );
        cout << liczby[ licznik ] << endl;
    } while( licznik >= 0 );
   
}

void wypiszLiczby( int liczby[], int licznik )
{
    cout << "Wylosowales liczby: ";
    do {
        licznik--;
        cout << liczby[ licznik ] << ", ";
       
       
    } while( licznik >= 0 );
   
    cout << endl;
}

int obliczSume( int liczby[], int licznik, int suma )
{
   
    do {
        licznik--;
        suma += liczby[ licznik ];
       
    } while( licznik >= 0 );
   
    return suma;
}


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

Wszystko się kompiluje, wydaje się być ok, ale nie wykonuje mi się polecenie
cout << "Losowanie 999 liczb w zakresie od " << iod << "do " << ido << endl;
Zauważyłem również, że początek liczb wylosowanych nie zgadza się z początkiem liczb wypisanych w tym programie. Mam nadzieję że wiecie o co mi chodzi, a jeśli nie to dołącze screeny jak to wygląda. Proszę o pomoc i pozdrawiam :)
P-118931
pekfos
» 2014-10-19 17:13:23
a jeśli nie to dołącze screeny jak to wygląda
Podaj to, co wypisuje. Ale nie na screenach..
P-118933
Rashmistrz
» 2014-10-19 17:25:30
Podaj to, co wypisuje. Ale nie na screenach..
Odsyłam do: » Kurs STC » PodstawyWstawianie kodu źródłowego lekcja

Edit:
Ja ten problem nazwałem sobie "przepełnieniem okna".
Przenieś ten komunikat za pętlę i odmień zdanie
w czasie przeszłym. ("Losowanie" na "Wylosowano")

Wszystko jest OK.
Ten komunikat jest wypisywany,
jednak jest zatracany przez
wyniki losowania.
P-118937
dafuck17
Temat założony przez niniejszego użytkownika
» 2014-10-22 14:54:23
Dzięki za informacje:)
P-119201
« 1 »
  Strona 1 z 1