Strona 1 z 1

[C++] Dwa warunki w if

: 28 paź 2012, 00:35
autor: Keretsoh
Muszę napisać program, który zapisze liczby z przedziału 2 do 10 do tablicy.
Mam taki fragment:

Kod: Zaznacz cały

for (int i=0;i<10;i++)
{
  cin>>tab[i];
  if (tab[i]>=2 && tab[i]<=10)
    cout<<"podana liczba nalezy do tego przedzialu";
}
Kompilator ignoruje ifa, ale tylko wtedy, gdy są podane dwa warunki. Gdy każę mu spełnić tylko jeden z nich, działa bez zarzutu. Nie mam pojęcia, dlaczego tak się dzieje. To ja robię coś źle, czy to wina kompilatora?
Może mi ktoś ten fragment napisać poprawnie i/lub wyjaśnić, dlaczego to nie działa?

Re: [C++] Dwa warunki w if

: 28 paź 2012, 01:04
autor: norvoles
Co to znaczy, że kompilator ignoruje ifa?
Mi poniższy kod się ładnie kompiluje i działa bez zarzutu:

Kod: Zaznacz cały

#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    int tab[10];
    for(int i=0; i<10; i++ ) {
        cout << "podaj liczbę: ";
        cin >> tab[i];
        if (tab[i] >= 2 && tab[i] <= 10)
            cout << "liczba " << tab[i] << " nalezy do tego przedzialu" << endl;
        else
            cout << "liczba " << tab[i] << " NIE nalezy do tego przedzialu" << endl;
    }
    return 0;
}

Re: [C++] Dwa warunki w if

: 28 paź 2012, 09:45
autor: Keretsoh
'Ignoruje', znaczy się, że kompletnie pomija(ł) go i wykonywał program dalej.
Teraz już działa. Zarówno Twoja wersja, jak i moja (od wczoraj niezmieniana). Nie mam pojęcia co było na rzeczy, ale ważne, że już działa.

Re: [C++] Dwa warunki w if

: 28 paź 2012, 13:14
autor: Paminol
Może jakaś literówka czy coś była. Od tak w magiczny sposób programy nie zaczynają działać, albo przez przypadek zmieniłeś coś w konfiguracji środowiska wcześniej