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

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

Ostatnio zmodyfikowano 2018-01-14 01:25
Autor Wiadomość
tomis69
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
YooSy
» 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