Potrzeba zapętlenia programu, a nie nagłego jego zakonczenia w pętli.

0

Witam!
Chciałbym zapętlić program który prosi użytkownika o podawanie cyfry naturalnej. Po wprowadzeniu cyfry 0 program kończy pracę wyświetlając nam największą sumę cyfr podanej wcześniej przez użytkownika
To jest to co mam na chwilę obecną:


#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    int n;

    cout << "Podaj liczbe naturalna (jesli 0 - koniec): ";
    cin >> n;

    int rob=abs(n);
    int suma=0;

    while(rob > 0)
    {
        suma += rob % 10;
        rob /= 10;
    }
    cout << "Max sum " << n << " dla " << suma << endl;

    system("PAUSE");
    return 0;
}

 

Każda rada wraz z przykladem mile widziana

3

Zacznij od zapoznania się z podstawami arytmetyki, bo za wcześnie ci pisać programy skoro nie odróżniasz liczb od cyfr.

0

Wydaje mi się, że Chodzi Ci o program, który po wpisaniu iluś liczb, zakończony wprowadzeniem 0, wypisuje,dla jakiej liczby suma cyfr jest najwieksza. Jeśli tak.

  1. Potrzebujesz dodatkowych dwóch zmiennych - jedna przechowywujaca dotychczasową maksymalną sumę, druga przechowujaca liczbę dla jakiej suma jest najwieksza.
  2. Dodatkowej Pętli, która kończyła by działanie po wpisaniu 0. W pętli powinien być warunek while(liczba!=0)
    Napisz sobie na kartce, jak to powinno wyglądać.
1
#include <iostream>
using namespace std;

int main()
{
    int suma=0, liczba;
    while(cin>>liczba && liczba != 0)
     suma += liczba;
    cout << suma;
    return 0;
}
 

tu masz pętlę np. dodającą wprowadzone liczby do siebie do momentu wpisania 0.

1 użytkowników online, w tym zalogowanych: 0, gości: 1