• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pojemnik na dane w zadaniu || Problem.

Object Storage Arubacloud
0 głosów
389 wizyt
pytanie zadane 10 stycznia 2016 w C i C++ przez Krzychu Użytkownik (640 p.)

Witam mam problem z zadaniem o następującej treści.

Napisz program obliczający sumę narastających liczb wprowadzonych przez
użytkownika, który zakończy swoje działanie, gdy użytkownik wprowadzi 0.
 

Wyobrażam to sobie tak. Wprowadzam liczbę 5, liczba 5 trafia do pojemnika_1, Program ma pokazać sumę liczb. Obecnie wprowadziłem jedną liczbę więc wynik to 5. Wprowadzam następną liczbę 2, trafia do pojemnika_1 ich suma 7.

Teraz pytanie jak to zrobić. Dotychczas poznałem, zmienne, instrukcje warunkowe, pętle.

Myślałem żeby do nieskończonej pętli wprowadzić zmienną liczba, która będzie pobierana z zewnątrz.

#include <iostream>

using namespace std;

int main ()
{
    int liczba;

    while (true)
    {
    cout<<"Wproawdz liczbe ";
    cin>>liczba;
    }

    return 0;
}

Wprowadzić w niej instrukcję warunkową

if(liczba=0)
break;

Zasadnicze pytanie. Co zrobić a by zmienna pojemnik_1 zamiast nadpisywać wartość przyjmowała kolejną. Proszę o nakierowanie mnie z jaką funkcją c++ powinienem się zapoznać. Może chodzi o tablice.

Z góry dziękuje za pomoc. Pozdrawiam.

 

2 odpowiedzi

+1 głos
odpowiedź 10 stycznia 2016 przez 0rb_12 Bywalec (2,440 p.)
wybrane 16 stycznia 2016 przez Krzychu
 
Najlepsza

#include <iostream>

using namespace std;

int main ()
{
    int liczba = 0;
    int suma = 0;



while (true)
{
        cout<<"Wproawdz liczbe ";
        cin>>liczba;

    if(liczba==0)
        {
        cout<< "Suma to " << suma << endl;
        break;
        }

    suma = suma + liczba;

}



return 0;
}
komentarz 16 stycznia 2016 przez Krzychu Użytkownik (640 p.)
Dziękuje za odpowiedź, szkoda że sam na to nie wpadłem "suma=suma+liczba", tylko kombinowałem z tablicami :(.
+1 głos
odpowiedź 10 stycznia 2016 przez niezalogowany

Przecież nie ma sensu abyś w tym zadaniu posiadał pojemnik zawierający wszystkie liczby (tak, możesz wykorzystać tu tablice dynamiczne).

Masz napisać funkcję liczącą sumę, takich liczb x. że x[i] > x[i+1], (chyba że liczby narastające to jeszcze coś innego), więc wystarczy że będziesz znał poprzednio wprowadzoną liczbę oraz samą sumę.

Algorytm:

  1. suma = 0, prevNum = 0
  2. Pobierz liczbę od użytkownika (x)
  3. Jeżeli x == 0, koniec
  4. Jeżeli x > prevNum, to suma += x, prevNum = x.
  5. Powróć do punktu 2

Może sam algorytm nie jest najładniej napisany, ale powinien działać pod warunkiem że wartości wprowadzone przez użytkownika są większe od zera.

komentarz 10 stycznia 2016 przez Krzychu Użytkownik (640 p.)
Możliwi że błędnie odczytuje treść zadania.

Chodzi mi o stworzenie takiego porgramu.

Wprowadzam liczbę czyli x, liczba zostaje zapamiętana, wyświetla mi się suma. Czyli suma=x. Pętla wykonuje się drugi raz. Wprowadzam kolejny raz liczbę. Wyświetla mi się liczba+ostania suma. Wynik ten trafia do sumy. Mam nadzieję że wiecie o co mi chodzi i przepraszam za kłopot.
komentarz 10 stycznia 2016 przez Antero00 Gaduła (3,670 p.)

np.

do{
cin>> x;
suma += x;
cout<< suma;
}while( x != 0);

 

komentarz 16 stycznia 2016 przez Krzychu Użytkownik (640 p.)
Dziękuje za odpowiedź. Niepotrzebnie kombinowałem z tymi tablicami.

Podobne pytania

0 głosów
1 odpowiedź 126 wizyt
pytanie zadane 18 maja 2018 w C i C++ przez PawelS Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 113 wizyt
pytanie zadane 13 kwietnia 2016 w C i C++ przez wooda22 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 89 wizyt
pytanie zadane 8 kwietnia 2020 w JavaScript przez Bazzam Użytkownik (810 p.)

92,626 zapytań

141,486 odpowiedzi

319,844 komentarzy

62,009 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...