Powtórzenie działania programu z usunięciem "pamięci"

0

Witam wszystkim mam do was prośbę a zarazem pytanie napisałem program :

#include <iostream>
using namespace std;
int main()
{

    int n;
    float suma = 0;
    float q;

    while (1) {

        cout << " Podaj liczbe wyrazow ";
        cin >> n;

        while (n < 0)

        {
            cout << "n musi byc dodatnie " << endl;
            cout << "Podaj liczbe wyrazow ";
            cin >> n;
        }

        for (float i = 1; i <= n; i++) {

            suma = suma + i;
        }
        cout << "Suma wyrazow wynosi: " << suma << endl;
    }

    return 0;
}

Program ogólnie działa ale mam problem gdyż w poleceniu mam żeby "Wyświetlił sumę i zaczął od początku" niby to robi ale cały czas w pamięci ma poprzednią sumę i cały czas ją dodaje do nowej, jest jakieś polecenie żeby wyczyścił sobie tą sumę ?

1
suma = 0;

Przy czym wiesz, że sumę liczb od 1 do n można spokojnie obliczyć za pomocą n*(n-1)/2?

0

dzięki wielkie :))

0

Zapewne bym wiedział, ale w przypadku title bym zgłupiał.

Nie wiem sam nawet do końca czy dobrze rozumiem to zadanie, ale wydaje mi się że o to chodziło.

#include <iostream>
using namespace std;
int main()
{
int n;
double suma = 0;
double q;
cout << "Podaj liczbe wyrazow ";
cin >> n ;
while (n<=0)
{
    cout << "n musi byc dodatnie " << endl;
    cout << "Podaj liczbe wyrazow ";
    cin >> n;
}

for (double i = 1; i <= n ; i++)
{
    q =  (1/i);
    suma = suma + q;
}
cout << "Suma wyrazow wynosi: " << suma;
}
```

to jest kod do tego przykładu ( w poleceniu nie wymagali powtórzenia programu, wydaję mi się że tak powinien wyglądać ten kod? na miarę super nowicjusza)

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