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

Rozdział 18 - zadanie domowe

Ostatnio zmodyfikowano 2015-01-11 02:03
Autor Wiadomość
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

P-123814
1aam2am1
» 2015-01-01 20:22:40
Daj sumowanie w pentli
P-123815
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;
}

P-123818
Mateus.
» 2015-01-01 21:57:05
W pętli zmień na to:
wynik += liczba[ i ];
A wynik wypisuj poza pętlą.
P-123826
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;
}
P-123842
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:

C/C++
#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?
P-124622
stryku
» 2015-01-11 01:55:27
nad tym się zastanów
C/C++
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?
P-124623
Smncru5
» 2015-01-11 01:59:48
No dobra, to zmieniłem to na coś takiego:
C/C++
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ę.
P-124624
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona