Witajcie
Dopiero zaczynam przygodę z C++, natrafiłem na zadanie, w którym program ma sumować liczby parzyste od podanej do -50 (trochę bez sensu, ale okej). Postanowiłem troche je zmodyfikować, każąc programowi wyświetlać która to liczba. I tutaj natrafiłem na problem - dlaczego program usilnie zaczyna wyświetlać dopiero od liczby mniejszej o 1 w stosunku do podanej? Oczywiście dało się to rozwiązać w ten sposób
cout <<numer<<". "<< liczba+1<<endl;
Ale raz że no nie jest to jak mniemam najbardziej optymalne rozwiązanie, a dwa - to zaburza wynik sumy, bo przykladowo jeśli użytkownik wpisze "4" to owszem, na ekranie pojawi się od 4, ale sumować zaczyna od 3.
Kod:
#include <iostream>
using namespace std
int numer=0,liczba,suma=0;
int main()
{
cout << "Podaj od ktorej liczby chcesz wyswietlac: ";
cin >> liczba;
while (liczba>-50)
{
numer++;
liczba--;
cout <<numer<<". "<< liczba<<endl;
if (liczba%2==0)
suma=suma+liczba;
}
cout <<"Suma liczb parzystych jest rowna "<< suma<<endl;
return 0;
}
Rozumiem, że po prostu program od razu uruchamia pętlę schodząc o jedną liczbę w dół, ale dalej nie umiem na to nic zaradzić.