1 / 4
Mar 2017

Przekroczono limit czas. Czy ktoś może mi wytłumaczyć dlaczego ? Z góry dzięki.

include

using namespace std;
int a;
int suma=0;
int main()
{
while(a> -100 && a<100)
{
cin>>a;
suma+=a;
cout<<suma<<endl;
}
return 0;
}

  • created

    Mar '17
  • last reply

    Mar '17
  • 3

    replies

  • 378

    views

  • 2

    users

  • 1

    like

Być może dlatego, że zmienna 'a' cały czas spełnia warunek
a>-100 && a<100
a w takim razie program realizuje kolejny przebieg pętli i oczekuje na wprowadzenie kolejnej liczby.

Umieszczaj link do i kod zadania, bo nie każdemu chce się wyszukiwać zadanie po tytule.

Okej. Rozumie. Dzieki za odpowiedz i następnym razem wrzucę wszystko co trzeba.

Edit: Czy w takim razie jest szansa na zrobienie tego z uzyciem pętli while ?

Czy to na pewno moze byc powód tego ? W zadaniu nie ma określonej liczby prób, czy powinienem zawrzeć jakąs komende która by zakończyła program ?

Można, np. tak:
while(cin >> a)

Oprócz wczytania wartości do zmiennej 'a', operacja wczytywania zwraca wartość 'powodzenia' operacji wczytania. Jeśli operacja wczytania kolejnej liczby się nie powiodła (wszystkie liczby wczytane), to ta instrukcja zwraca wartość 0 - co przerwie pętlę while.