Cześć, zaczynam uczyć się języka C++ i ćwicząc na znalezionych w internecie przykładowych zadaniach natknęłam się na problem, który nie jestem w stanie rozwiązać ani sama, ani z pomocą chatuGPT
Napisz program obliczający sumę liczb nieparzystych z przedziału <x,y>. Wartości x i y podaje użytkownik.
Otóż dostaję złe wyniki, jeśli w zakresie pojawiają się liczby ujemne. Np. podając x=-5 i y=0 to zamiast uzyskać wynik -9 dostaję 0. Próbowałam napisać kod zarówno przy użyciu pętli for jak i do while, jednak wynik w obu przypadkach jest niepoprawny. Co może być tego przyczyną i jak temu zaradzić? Z góry dziękuję za pomoc
#include <iostream>
using namespace std;
int x, y, suma=0;
int main() {
cout<<"Podaj zakres liczb <x,y>\n";
cin>>x>>y;
do {
if (x%2==1) suma+=x;
x++;
} while (x<=y);
cout<<"Suma liczb nieparzystych z tego zakresu wynosi "<<suma;
return 0;
}
#include <iostream>
using namespace std;
int x, y, suma=0;
int main() {
cout<<"Podaj zakres liczb <x,y>\n";
cin>>x>>y;
for (x;x<=y;x++) {
if (x%2==1) suma+=x;
}
cout<<"Suma liczb nieparzystych z tego zakresu wynosi "<<suma;
return 0;
}