83 / 192
Sep 2016

Aha już wiem gdzie leży problem, dzięki.
Zadanie zaliczone w takim razie =D

a uruchomiłeś ten program dla jakichkolwiek danych, choćby najprostszego, przykładowego z zadania ?

doprowadź do tego, aby działał, zamiast zgłaszać błąd (nie jest to trudne, wystarczy usunąć to co niepotrzebne :slight_smile: ), a dalsza pomoc też nie będzie potrzebna :slight_smile:

Strona nie chce mi zaakceptować zadania :frowning: odkryłem że liczba ciastek w pudełku (m) powinna być w long long wtedy nie wyrzuca programu ale przy wielkiej ilości uczestników ale po wpisaniu ich ok 10 czasów jedzenia ciastek wywala program do pulpitu. Jestem tu nowy wiec przepraszam za śmiecenie i nieogarnięte zachowanie jestem otwarty na wszelkie wskazówki co i jak powinienem robić :slight_smile:

Znalazłem błąd było nim użycie tablicy przy czasie przepraszam za spam dziękuje za pomoc :slight_smile:

zgadza się, tablica była całkowicie niepotrzebna

a dodatkowo źle deklarowana - jeżeli już, to powinna być deklaracja przed pętlą na potrzebny rozmiar
oraz źle użyta - jeżeli mamy *tablica = new int[n] to przecież element tablica[n] nie istnieje

10 days later

Cześć, potrzebuję pomocy. Kod był wielokrotnie poprawiany, judge odrzuca każdą próbę, mimo że dla danych przykładowych wyniki wychodzą poprawne.

include

include

using namespace std;

int main()
{
float n,t; //liczba uczestnikow, liczba ciastek w pudelku, liczba testow
float m;

cout<<"Podaj liczbe testow: ";
cin>>t;

for (int j=0; j<t; j++)

{
    cout<<"Podaj liczbe uczestnikow, a po spacji liczbe ciastek w pudelku: ";
    cin>>n>>m;

    cout<<"Podaj czas jedzenia ciasteczka dla kazdego uczestnika: ";

    float ciastka[n];
    float czasy[n];
    float suma=0;

for (int i=0; i<n; i++)
{
    cin>>czasy[i];
}

  for (int i=0; i<n; i++)
{
    ciastka[i]=floor(86400/czasy[i]);
    suma+=ciastka[i];
}





float pudelka;
if(suma !=0)
{
    pudelka=ceil(suma/m);
}
else
{
    pudelka=0;
}


cout<<"Nalezy kupic "<<pudelka<<" pudelek ciastek."<<endl;

}
return 0;

}

kod programu przekazujemy poprzez link do ideone.com5

proponuje, abyś tam przeniósł kod, uruchomił (trzeba trochę poprawić), w okienko dane wejściowe (stdin) wstawił przykładowe dane z zadania i obejrzyj wynik (stdout), czy jest zgodny z oczekiwaniami aurora zadania ?

czy naprawdę uważasz, że

Podaj liczbe testow: Podaj liczbe uczestnikow, a po spacji liczbe ciastek w pudelku: Podaj czas jedzenia ciasteczka dla kazdego uczestnika: Nalezy kupic 8 pudelek ciastek.
Podaj liczbe uczestnikow, a po spacji liczbe ciastek w pudelku: Podaj czas jedzenia ciasteczka dla kazdego uczestnika: Nalezy kupic 2 pudelek ciastek.

to jest to samo co:

8
2

Wydawalo mi się, że komentarze skierowane do użytkownika nie będą miały znaczenia dla działania programu. W każdym razie, po ich wykomentowaniu spoj akceptuje program. Dziękuję.

To nie są komentarza - to wyjście programu. A na wyjściu programu musi być dokładnie to, co sobie życzy autor programu, różnice mogą się pojawić tylko w białych znakach, a i to nie zawsze

Mam podobny problem do kolegi wyżej z tym że prócz błędu SIGSEGV w SPOJ pokazuje mi w ideone.com że kompilator oddaje na końcu informację "inf" czy może mi ktoś powiedzieć skąd się to bierze i dlaczego sędzia odrzuca zadanie ? czy to właśnie dla tego ?
https://ideone.com/n1KNuK4

  1. Czy sądzisz, że: ".. N ≤ 10.000.." <==> N ≤ 10 ??
  2. Po jaką ... używasz w ogóle tablicy??
  3. Jak wyżej, ... typu float??
  4. Jak wyżej, zmiennych globalnych ?

Z powodu błędu w 13 linii twojego programu.
inf === infinity === wartość niewyobrażalnie duża, lub wyobrażalna, ale przekraczająca maks wartość [pojemność] użytego typu zmiennej.

:PS
Warto uważniej czytać treść zadania - powtórzyć to czytanie, przy problemach z zaliczeniem, a potem, gdy pytasz na forum, warto uważnie przeczytać i przemyśleć cały wątek/wątki na temat.

Rozumiem już Dzięki za pomoc Narbej. Teraz wiem że zadania mają być zrobione dokładnie z instrukcją. Zabieram się zatem do rozwiązania! :slight_smile:

13 days later

Witam wszystkich Panowie mam problem z obżartuchami takiego rodzaju, że ten int nie zaokrągla mi pudełek w górę tylko w dół dlatego przy pierwszym teście wychodzi mi 6 pudełek a nie 8. Kod masakra wiem dopiero się uczę z góry dzięki za pomoc.

include

using namespace std;

int main()
{
int ilosc_testow;
int ilosc_obzartuchow[100];
int ile_ciastek[100];
int doba=3600*24;
int j=0;
int obzartuchy[1000];
int liczba_pudelek=0;
int pudelka=0;



cin>>ilosc_testow;

for (int i=0 ;i<ilosc_testow; i++)
{
   cin>>ilosc_obzartuchow[i]>>ile_ciastek[i];

   while(j<ilosc_obzartuchow[i])
   {
       cin>>obzartuchy[i];
       liczba_pudelek+=((doba/obzartuchy[i])/ile_ciastek[i]);
       j++;
   }
    
    j=0;
    cout<<"Ilosc paczek ciatek dla testu nr."<<i+1<<" wynosi: "<<liczba_pudelek<<endl;
}

return 0;

}

  1. Zaznacza się cały kod i dopiero klika w </> lub wkleja kod na ideone.com, a tu link do wykonanego tam testu.
  2. SPOJ raczej nie służy do nauki [programowania] a do, swoją drogą w bardzo atrakcyjnej formie, testowania i utrwalania swoich umiejętności i porównywania z umiejętnościami innych [już coś kolwiek umiejących] programistów. Do tego [nauki] jest literatura i nauczyciele, a wybacz ja nie jestem.
  3. bonus [number 2]: ---> http://213.192.104.217/phpBB3-spoj-pl-backup/viewtopic.php?f=1&t=1214&sid=473a6ed0abb4ff296004debda0fd65457 , ze szczególnym uwzględnieniem pkt 10
  4. warto też poczytać posty w tym wątku + posty w innych wątkach dotyczących tego zadania: http://discuss.spoj.com/search?q=ob%C5%BCartuchy
  5. Podstawą jest treść zadania, którą trzeba czytać, czytać i jeszcze raz czytać aż do zrozumienia, a szczególnie gdy ma się z nim problemy: "Na podstawie tych danych, organizatorzy Zlotu chcą określić ile należy kupić ciastek", a dopiero potem, liczą ile to pudełek: "ciastka w sklepie sprzedawane są w pudełkach o stałej wielkości". Z twojego kodu widać, że tego niestety nie zauważyłeś/nie uwzględniłeś.