Problem z zadaniem 18...
Ostatnio zmodyfikowano 2012-10-09 08:21
OSA_PL |
» 2012-06-18 20:18:43 To daj poza pętlą cout << "Suma wylosowanych liczb= " << suma << endl; I popraw to o czym pisałem w poprzednim poście. |
|
jankowalski25 |
» 2012-06-18 20:20:14 Nie zainicjowałeś zmiennej suma. |
|
C0d3r |
» 2012-06-18 22:43:21 Właściwie wszystko już jasne i wiesz gdzie były błędy. Chciałbym Cię tylko namówić do tego abyś wrócił do poprzednich działów i ponownie się z Nimi zapoznał. Zapominając podstaw, nie będziesz w stanie porządnie programować, a przecież na tym Ci zależy, prawda? Ja już kilkukrotnie wracałem i jestem z tego zadowolony. Każdy program napisałem sam, a kończę 2 poziom, może dla niektórych to błahostka, ale ponad 50% pyta, zamiast samemu popróbować coś posklejać. Dlatego też jeżeli serio myślisz o programowaniu, to wracaj do działów, z którymi miałeś problemy albo o których zapomniałeś. Taka rada ode mnie.
Pozdrawiam |
|
Fearevil Temat założony przez niniejszego użytkownika |
» 2012-06-18 23:35:21 COd3r rozumiem Cie, probuje wracac i zagladac, ale jak juz za dlugo siedze to mnie szlag jasny trafia i zadaje pytania liczac na to, ze dzieki nim cos zrozumiem. Na pewno i tak solidnie wroce do pierwszego dzialu by go jeszcze raz obejsc, poniewaz nie wszystko dokladnie pamietam, a praca w pierwszym dziale sprawiala mi frajde. Chce, zeby rozdzial drugi tez dawal mi satysfakcje. Ogolnie zadanie zrobione. Widze, ze bardzo wazne bylo zerowanie. #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); int liczba[ 5 ]; int licznik = 0; int suma = 0; cout << "Wylosowane liczby:" << endl; do { liczba[ licznik ] =(( rand() % 7 ) + 4 ); cout << "nr." << licznik + 1 << ": " << liczba[ licznik ] << endl; licznik++; } while( licznik < 5 ); licznik = 0; suma = 0; do { suma += liczba[ licznik ]; licznik++; } while( licznik < 5 ); cout << "Suma wylosowanych liczb= " << suma << endl; return 0; }
Dzieki za rady i wskazowki. |
|
TaOto |
» 2012-10-08 10:01:57 Podłączam się pod temat i mam pytanie odnośnie tego zadania. W zadaniu mamy wylosować 999 liczb z przedziału od 4 do 10. Kiedy zapisuję, że liczb ma być 999 tj. int liczba[ 999 ] to podczas uruchamiana, program zaczyna sumować liczby od pozycji nr 705. Dlaczego nie sumuje wszystkich 999 liczb z podanego w zadaniu przedziału?
Sprawdza się to u mnie jak i u kolegi z tego posta (po zamianie u niego ilości liczb wylosowanych na 999)
|
|
DejaVu |
» 2012-10-08 10:07:34 1. Bez kodu nic nie jesteśmy w stanie powiedzieć. 2. Wydaje mi się, że Twój problem jest nieco inny niż kolegi, aczkolwiek jeżeli nie zaczyna 'od zera' to znaczy, że zmienna wskazująca pozycję ma wartość początkową inną niż 'zero'. |
|
TaOto |
» 2012-10-08 10:21:21
Oto mój kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
srand( time( NULL ) );
int liczby[ 999 ];
int licznik = 0;
cout << "Wylosowane liczby z przedzialu 4 do 10:" << endl;
do
{
liczby[ licznik ] = ((rand() % 7) + 4);
cout << "Zmienna nr " << licznik + 1 << ":" << liczby[ licznik ] << endl;
licznik++;
} while( licznik < 999 );
licznik = 0;
int suma = 0;
do
{
suma = suma + liczby[ licznik ];
licznik++;
} while ( licznik < 999 );
cout << "Suma wylosowanych liczb jest rowna= " << suma << endl;
return 0;
}
|
|
TaOto |
» 2012-10-08 12:51:16 Napisałam kod w związku z powyższą wiadomością. Czy teraz DejaVu moglbys mi wyjasnic dlaczego program zaczyna sumowac liczby od pozycji nr 705? |
|
1 « 2 » 3 |