Wątek przeniesiony 2018-01-14 18:46 z C/C++ przez kq.

Jak zapisać sumowanie liczb?

0

Treść zadania:
Program sumuje liczby z wprowadzonego przez użytkownika przedziału, uwzględniając zabezpieczenie z poprzedniego zadania. W trakcie działania wyświetla kolejną liczbę i aktualną sumę dotychczas wyświetlonych liczb. Przykład:

Podaj a = 4
Podaj b = 8
liczba 4, suma 4
liczba 5, suma 9
liczba 6, suma 15
liczba 7, suma 22
liczba 8, suma 30
Suma wszystkich liczb wynosi: 30

Oto co ja na razie napisałem:

#include <iostream>

using namespace std;

int main()
{
    int a,b,c,z;
    cout<<"Podaj a= ";
    cin>>a;
    cout<<"Podaj b= ";
    cin>>b;
    z=a;

    if(a>b)
    {
        c=a;
        a=b;
        b=c;


    }

     for(int i=a; i<=b; i++)
    {
        cout<<"liczba "<<i<<" suma "<<z<<endl;
    }


    return 0;
}

I mam taki problem że nie mam pojęcia jak zapisać to sumowanie liczb. Jeśli ktoś wie co mogę tu zrobić proszę pisać.

1
  1. Nie nazywaj zmiennych nazwami a,b,c,d bo idzie się pogubić. Nadaj im sensowną nazwę, jak sum ( suma ), low ( dolna granica ), czy też high ( górna granica ). Oczywiście lepiej stosować się do nazywania zmiennych po angielsku.
  2. Warunek if, jeżeli zmienna a jest większa od b , to możesz użyć funkcji swap między nimi, by zamienić je wartościami.
  3. Pętla jest napisana dobrze, tylko w niej musisz mieć jakąś zmienną, która za każdym razem ( od 0 ), będzie zwiększana o aktualne i w pętli.
  4. Za pętlą wyświetlasz wynik.

// niechcący post się zdublował, a niestety pierwszego nie mogę usunąć.

0

Jest to zadanie ze szkoły a więc na razie nie wiem jak działa "swap" a więc na razie zostanę przy tym zabezpieczeniu. I chodzi mi o to iż pod zmienną z chciałbym aby wyświetlała się suma
lecz nie mam pojęcia w jaki sposób to zapisać. A więc prosił bym o kawałek kody który za to by odpowiadał :)

1

Jeżeli z to suma (tak jak kolega napisał wyżej, dlaczego nie nazwiesz tej zmiennej sum? to w pętli musisz robić:

sum += i;

I wtedy możesz wyświetlać tak jak robisz to teraz.

Wcześniej musiałbyś również ustawić sumę na 0.

1
...
suma=0;

for(int i=a; i<=b; i++)
    {
        cout<<"liczba "<<i<<" suma "<<suma<<endl;
        suma += i;
    }

Wsęsie że takie coś ?
Wtedy wychodzi ta suma tak:

Podaj a= 1
Podaj b= 6
liczba 1 suma 0
liczba 2 suma 1
liczba 3 suma 3
liczba 4 suma 6
liczba 5 suma 10
liczba 6 suma 15

Process returned 0 (0x0)   execution time : 1.704 s
Press any key to continue.

Próbowałem już na różne sposoby i nwm właśnie co wpisać tutaj "suma += i"
aby ta suma dobrze wychodziła.

0

Zamiast:

cout<<"liczba "<<i<<" suma "<<suma<<endl;
suma += i;

Napisz:

suma += i;
cout<<"liczba "<<i<<" suma "<<suma<<endl;
1

Wielkie dzięki :)

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