Rozdział 18 - zadanie domowe
Ostatnio zmodyfikowano 2015-01-11 02:03
Xtremox0912 Temat założony przez niniejszego użytkownika |
» 2015-01-01 20:16:07 O jest ok wyskakuje 999 razy dzięki i ostatnie pytanie
int main() { int liczba [ 999 ]; int losowanie; srand(time(NULL));
int i = 0;
while(i<999) { liczba [ i ] =(std::rand()%10) +4; std::cout << liczba [ i ] << std::endl; i++; } int wynik = liczba [ i ] + liczba [ 999 ]; std::cout << "Wynik wszystkich liczb : " << wynik << std::endl; return 0; }
teraz chce aby wszystkie te liczby się zesumowały co mam źle
|
|
1aam2am1 |
» 2015-01-01 20:22:40 Daj sumowanie w pentli |
|
Xtremox0912 Temat założony przez niniejszego użytkownika |
» 2015-01-01 20:33:09 Próbowałem to co 1 działanie jest wynik i to jakiś ogromny
#include <iostream> #include <ctime> #include <cstdlib>
int main() { int liczba [ 999 ]; int losowanie; srand(time(NULL));
int i = 0;
while(i<999) { liczba [ i ] =(std::rand()%10) +4; std::cout << liczba [ i ] << std::endl; i++; int wynik = liczba [ i ] + liczba [ 999 ]; std::cout << "Wynik wszystkich liczb : " << wynik << std::endl; } return 0; }
|
|
Mateus. |
» 2015-01-01 21:57:05 W pętli zmień na to: wynik += liczba[ i ]; A wynik wypisuj poza pętlą. |
|
Xtremox0912 Temat założony przez niniejszego użytkownika |
» 2015-01-02 11:16:34 Dobra dzięki działa
#include <iostream> #include <ctime> #include <cstdlib>
int main() { int liczba[999]; int losowanie; srand(time(NULL));
int i = 0; int wynik = 0;
while (i < 999) { liczba = (std::rand() % 10) + 4; wynik += liczba; std::cout << liczba << std::endl; i++; } std::cout << "Wynik wszystkich liczb : " << wynik << std::endl; return 0; }
|
|
Smncru5 |
refresh » 2015-01-11 01:47:58 Odświeżę temat żeby nie śmiecić forum. Jestem w tym samym zadaniu, i mój kod wygląda tak: #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
int main() { srand( time( NULL ) ); int los[ 999 ]; int licznik = 0; do { los[ licznik ] =( rand() % 10 ) + 4; licznik++; } while( licznik < 999 ); cout << "Oto 999 wylosowanych liczb: "; licznik = 0; do { cout << los[ licznik ] << ", "; licznik++; } while( licznik < 998 ); cout << los[ licznik ] << "."; cout << endl << endl; cout << "Suma wszystkich liczb to: "; licznik = 0; int licznik2 = 1; int suma; int wynik; do { suma = los[ licznik ] + los[ licznik2 ]; suma += wynik; licznik++; licznik2++; } while( licznik < 999, licznik2 < 1000 ); cout << wynik; return 0; }
Co jest nie tak? Na moje oko wynik. Wszystkie 999 liczb jest zawsze losowe (a tak mi się wydaje, że jest ich 999, nie wiem jak to sprawdzić), natomiast ich rzekoma suma jest za każdym razem taka sama. Nie wydaje mi się, żeby te 999 losowych liczb zawsze się sumowały na 1991488205. Może mój mechanizm sumowania jest trochę zbyt 'gruby', ale wydaje mi się, że powinien działać. No i poza tym, czy cała reszta się zgadza z poleceniem zadania? |
|
stryku |
» 2015-01-11 01:55:27 nad tym się zastanów suma = los[ licznik ] + los[ licznik2 ]; suma += wynik; i się zastanów po co potrzebny Ci jest licznik2, (serio nie wiem po co to on tu jest) co gdy licznik2 będzie równy 999? Chyba wyjdziesz za tablice nie? |
|
Smncru5 |
» 2015-01-11 01:59:48 No dobra, to zmieniłem to na coś takiego: do { wynik += los[ licznik ] + los[ licznik2 ]; licznik++; licznik2++; } while( licznik < 999, licznik2 < 1000 );
cout << wynik;
Teraz za każdym razem wynik wydaje się być inny. I masz rację, chyba wyjdzie poza tablicę. Już coś z tym zrobię. |
|
1 « 2 » 3 |