int main() { // unsigned jest tylko dla zakresu dodatniego, // dla ujemnego i dodatniego jest signed, ale //signed i int jest zbyteczne bo jest domyślne long a, b;
cin >> a; cin >> b;
// a = a jest niepotrzebne, nic nie robi, kompilator to zoptymalizuje, // ale lepiej nie zostawiac takich baboli for (; a <= b; a++) { if (a % 2 == 1 || a % 2 == -1) { cout << a << endl; } } }
1. Zmienne poprzedzone unsigned zawierają się tylko w przedziale dodatnim. Powinno to wyglądać tak: long int a, b;
2. Liczba ujemna modulowana przez dodatnią, daje liczbę ujemną, więc twój if nie wyłapuje tego przypadku i go pomija. Powinno to wyglądać tak: if(a%2 == 1 || a%2 == -1)
using namespace std;
int main()
{
// unsigned jest tylko dla zakresu dodatniego,
// dla ujemnego i dodatniego jest signed, ale
//signed i int jest zbyteczne bo jest domyślne
long a, b;
cin >> a;
cin >> b;
// a = a jest niepotrzebne, nic nie robi, kompilator to zoptymalizuje,
// ale lepiej nie zostawiac takich baboli
for (; a <= b; a++)
{
if (a % 2 == 1 || a % 2 == -1)
{
cout << a << endl;
}
}
}
1. Zmienne poprzedzone unsigned zawierają się tylko w przedziale dodatnim. Powinno to wyglądać tak: long int a, b;
2. Liczba ujemna modulowana przez dodatnią, daje liczbę ujemną, więc twój if nie wyłapuje tego przypadku i go pomija. Powinno to wyglądać tak: if(a%2 == 1 || a%2 == -1)