• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PP0601A2 - Test 3 przekroczono limit czasu SPOJ

Object Storage Arubacloud
0 głosów
431 wizyt
pytanie zadane 26 października 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

Cześć, mam problem z zadaniem ze spoja (https://pl.spoj.com/problems/PP0601A2/). Napisałem program który działa jak należy ale SPOJ odrzuca mi go z komentarzem "Przekroczono limit czasu". Wie ktoś dla czego? Mój kod:

#include <stdio.h>

int main()
{
    int liczba, ilosc=0,poprzednia=42;
    while(scanf("%d",&liczba))
    {
        if(ilosc<3)printf("%d \n", liczba);
        if(liczba==42&&poprzednia!=42)ilosc++;
        poprzednia=liczba;
    }
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 27 października 2018 przez RafalS VIP (122,820 p.)

Twój warunek w while nie działa. Gdy skończą sie liczby scanf zwraca EOF - ujemna liczba która jako bool daje true - pętla jest nieskończona. Popraw na:

while(scanf("%d",&liczba) != EOF)

albo korzystając z faktu, że scanf zwraca liczbe wczytanych danych:

while(scanf("%d",&liczba) == 1)

Dodatkowo gdy już wiesz, że skończyłeś to po co wczytujesz kolejne liczby:

while(scanf("%d",&liczba) != EOF && ilosc < 3)

lub break w ifie:

if(ilosc>2)
   break;
printf("%d \n", liczba);

 

Podobne pytania

0 głosów
1 odpowiedź 455 wizyt
pytanie zadane 12 stycznia 2019 w SPOJ przez WireNess Stary wyjadacz (11,240 p.)
0 głosów
2 odpowiedzi 192 wizyt
0 głosów
1 odpowiedź 282 wizyt
pytanie zadane 8 lutego 2019 w C i C++ przez Michał_Warmuz Mądrala (5,830 p.)

92,676 zapytań

141,580 odpowiedzi

320,058 komentarzy

62,039 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...