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

Problem z zadaniem 18...

Ostatnio zmodyfikowano 2012-10-09 08:21
Autor Wiadomość
Fearevil
Temat założony przez niniejszego użytkownika
Problem z zadaniem 18...
» 2012-06-18 19:04:12
Cholera chyba tego nie pojme juz, bo kur... juz 3 zadanie z rzedu prosze o pomoc... Jasny gwint! Szlag mnie trafia.
Nie mam pojecia jak zapisac komende, ktora zliczy mi wszystkie wylosowane przez komputer liczby. Moge prosic o jakies wskazowki? Naprowadzcie wkurzonego czleka, ktory nie widzi rozwiazania:) Albo wyjasnijcie cos z ta suma, bo za cholere nie wiem jak ten kod wykombinowac. Oto moj kod, ktory napisalem bez sumy, ale co dalej...?
Podkreslam, ze wybralem 5 liczb do wylosowania, zeby bylo mi latwiej sprzawdzic sumowanie liczb, ktore mi nie wychodzilo.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    srand( time( NULL ) );
    int liczba[ 5 ];
    int licznik = 1;
    int a;
    cout << "Wylosowane liczby:" << endl;
    do
    {
        a =(( rand() % 7 ) + 4 );
        cout << "nr." << licznik << ": " << a << endl;
        licznik++;
    } while( licznik < 6 );
   
    return 0;
}

Nie prosze o dokonczenie zadania, ale o wskazanie wlasciwej drogi, badz wyjasnienie czego uzyc i dlaczego. Jezeli da sie tak w ogole wyjsnic, itp.:)
P-58652
OSA_PL
» 2012-06-18 19:10:07
Stwórz dodatkową zmienną int i w pętli dodawaj do niej wylosowaną liczbę.

Edit: Dobra teraz doczytałem, że ma wykorzystywać tablice (Dawajcie treść zadania jak dajecie temat w tym dziale)
P-58654
Fearevil
Temat założony przez niniejszego użytkownika
» 2012-06-18 19:14:34
Wiec co mam zrobic?
Znasz juz tresc zadania tak?



Napisalem cos takiego, ale wynik sumy wychodzi jak z kosmosu, a dotego cos w numeracji jesxt nie tak...

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    srand( time( NULL ) );
    int liczba[ 5 ];
    int licznik = 1;
    int suma;
    cout << "Wylosowane liczby:" << endl;
    do
    {
        liczba[ licznik ] =(( rand() % 7 ) + 4 );
        cout << "nr." << licznik << ": " << liczba[ licznik ] << endl;
        licznik++;
    } while( licznik < 6 );
   
    suma += liczba[ licznik ];
    cout << "Suma wylosowanych liczb= " << suma << endl;
   
    return 0;
}
P-58656
czarcz
» 2012-06-18 19:31:25
nie rozumiem kodu, przeżyj lekcje z tablicami i popraw to
C/C++
.....
int licznik = 1;
......
P-58658
OSA_PL
» 2012-06-18 19:31:44
Pamiętaj, że tablice numeruje się od 0, więc
licznik = 0;
, a nie
licznik = 1;
 odatkowo nie
licznik < 6
, tylko
licznik < 5
 bo ostatni element tablicy to
liczba[ 4 ]
. Co do sumowania, stwórz sobie taką pętlę jak do losowania liczb i sumuj w niej tak jak próbowałeś, bo teraz po prostu dodajesz do zmiennej suma tylko jeden element tablicy.
P-58659
Fearevil
Temat założony przez niniejszego użytkownika
» 2012-06-18 19:51:24
Dalem
licznik = 1
, zeby w numerowaniu liczb ladnie wygladalo. Bo dla mnie nr.0 wyglada beznadziejnie w przeciwienstwie do nr.1:)
Ok OSA poprobuje z druga petla, zobaczymy co z tego wyjdzie. Jak napisze to wkleje do przeanalizowania.


C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    srand( time( NULL ) );
    int liczba[ 5 ];
    int licznik = 0;
    int suma;
    cout << "Wylosowane liczby:" << endl;
    do
    {
        liczba[ licznik ] =(( rand() % 7 ) + 4 );
        cout << "nr." << licznik << ": " << liczba[ licznik ] << endl;
        licznik++;
    } while( licznik < 5 );
   
    do
    {
        suma += liczba[ licznik ];
        cout << "Suma wylosowanych liczb= " << suma << endl;
    } while( licznik < 5 );
   
    return 0;
}

Dobra mam cos takiego. Wstawilem tylko petle, a w nia sumowanie tak jak bylo wczesniej, bo niebardzo wiem jak by to inaczej zapisac. Oczywsicie jest zle, bo wynik wychodzi kosmiczny i ciagle ten sam:P Nie wiem czy cos jest nie tak z komenda
rand
, pewnie inna jest przyczyna, ja jednak nie bardzo wiem jaka:/
P-58661
OSA_PL
» 2012-06-18 19:55:02
to daj
cout << "nr." << licznik + 1 << ": " << liczba[ licznik ] << endl;
 i możesz mieć licznik = 0

Wyzeruj zmienną licznik, przed tą drugą pętlą, bo teraz pętla wykonuje się tylko raz i dodaj licznik++ w tej pętli bo tak to zapętli Ci się w nieskończoność.

Pamiętaj jeszcze o zerowaniu zmiennych przy inicjacji, bo teraz zmienna suma może mieć przypadkową wartość.
P-58662
Fearevil
Temat założony przez niniejszego użytkownika
» 2012-06-18 20:16:24
Cos takiego napisalem po Twoich radach, ale nadal jest nie tak.
Sory za moja opornosc, ale cos nie moge zalapac. Chyba bede musial od poczatku poprzypominac sobie pare rzeczy...

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
    srand( time( NULL ) );
    int liczba[ 5 ];
    int licznik = 0;
    int suma;
    cout << "Wylosowane liczby:" << endl;
    do
    {
        liczba[ licznik ] =(( rand() % 7 ) + 4 );
        cout << "nr." << licznik + 1 << ": " << liczba[ licznik ] << endl;
        licznik++;
    } while( licznik < 5 );
   
    licznik = 0;
    do
    {
        suma += liczba[ licznik ];
        cout << "Suma wylosowanych liczb= " << suma << endl;
        licznik++;
    } while( licznik < 5 );
   
    return 0;
}
P-58664
« 1 » 2 3
  Strona 1 z 3 Następna strona