Poziom 2 Rozdział 18. Problem z dodawaniem wartości przypisanej do tablicy.
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Poziom 2 Rozdział 18. Problem z dodawaniem wartości przypisanej do tablicy.

AutorWiadomość
Temat założony przez niniejszego użytkownika
Poziom 2 Rozdział 18. Problem z dodawaniem wartości przypisanej do tablicy.
» 2018-01-13 22:13:37
Witajcie.


#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand(time(NULL));
    int liczba[ 5 ];
    int licznik = 0;
    int suma;

    do
    {
        liczba[ licznik ]=(rand()%7)+4;
        licznik++;
    } while( licznik < 5 );

    std::cout << "Podales nastepujace liczby: " << endl;
    licznik = 0;
    do
    {
        std::cout << licznik << " wynosi " << liczba[ licznik ] << endl;

        licznik++;
    } while( licznik < 5 );
        cout << endl << "Czas na matematyke" << endl ;
licznik=0;
        do
        {
    int suma=liczba[licznik]+liczba[licznik+1];
    licznik++;
        }while (licznik<5);
            cout << suma << endl ;


    return 0;
}


Oto mój kod i problemy mam z nim 2. Otóż po uruchomieniu liczby numerowane są w zakresie 704-999 i nie mogę dojść dlaczego - wygląda mi to jakby był jakiś maksymalny zakres... Drugi problem to nie mam pojęcia jak mam zsumować wszystkie losowe liczby z tablic w zakresie do 999 (jest to ostatnia część pracy domowej).
P-168692
» 2018-01-14 01:25:33
1. Wysokość konsoli standardowo wynosi 300 linii, więc więcej wyników nie zobaczysz,
póki nie ustawisz innej wysokości konsoli (ustawienia konsoli). To nie znaczy, że tablica
nie jest cała, pozostałe wyniki, czyli pierwsze 700 wyjeżdża poza konsolę.

2. Formatuj kod - opis w czerwonej ramce.
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand( time( NULL ) );
    int liczba[ 5 ];
    int licznik = 0;
    int suma; // deklaracja sumy
   
    do
    {
        liczba[ licznik ] =( rand() % 7 ) + 4;
        licznik++;
    } while( licznik < 5 );
   
    std::cout << "Podales nastepujace liczby: " << endl;
    licznik = 0;
    do
    {
        std::cout << licznik << " wynosi " << liczba[ licznik ] << endl;
       
        licznik++;
    } while( licznik < 5 );
   
    cout << endl << "Czas na matematyke" << endl;
    licznik = 0;
    // tutaj powinna być nadana wartość sumy (suma = 0;)
    do
    {
        int suma = liczba[ licznik ] + liczba[ licznik + 1 ]; // tutaj masz ponowną deklarację sumy, w każdej pętli
        licznik++;
    } while( licznik < 5 );
    // a tutaj tej sumy już nie ma, bo jesteś poza skopem (a ta suma z samej góry, nie jest nadpisywana
    // bo jest zakryta przez deklarację wewnątrz pętli)
    cout << suma << endl;
   
   
    return 0;
}

To powinno pomóc zrozumieć błąd:
C/C++
cout << endl << "Czas na matematyke" << endl;
licznik = 0;
suma = 0;
do
{
    suma += liczba[ licznik ];
    licznik++;
} while( licznik < 5 );

cout << suma << endl;
P-168696
« 1 »
 Strona 1 z 1