5 / 5
Apr 2017

Witam, mam problem z tym zadaniem, Spoj odrzuca mój kod https://ideone.com/MQmuGc18 i uzasadnia to błędem wykonania (SIGSEGV). Ideone akceptuje ale pewnie przez to ze inaczej działa niż nieugięty sędzia spoja. Jakieś pomysły?

  • created

    Apr '17
  • last reply

    Apr '17
  • 4

    replies

  • 607

    views

  • 4

    users

  • 2

    links

Warunek w linijce 33 moze spowodowac odwolanie sie do elementu imiona[imiona.size()] i bam SIGSEGV

Gdyby wynik był dobry, to spoj by zaliczył.

Może przeczytaj raz (dwa, trzy) raz(y) treść zadania oraz popatrz na załączony w zadaniu test przykładowy.

Dokładnie tak! :wink:
A jeszcze dokładniej, na ideone, możesz swój kod "tylko" skompilować i jeżeli wkleisz lub inaczej wstawisz testy, program się wykona dla takich testów, ale wyniki musisz już porównać-sprawdzić ręcznie. Na spoju porównanie wyników twojego programu z wynikami wzorcowymi wykonuje sędzia [program sędziujący].

Pod latarnią najciemniej!

Co to znaczy w tym wypadku? A no to, że progreamista [nie tylko początkujący] często "dostaje" klapek na oczach i nie dostrzega oczywistych rzeczy - jasno oświetlonych pod latarnią, nawet jeżeli będzie wielokrotnie czytał.

Moje rady:

  1. zdejmij przed czytaniem klapki z oczu :wink: i jak radził Mariusz, czytaj, czytaj, czytaj ....
  2. o ile przy pisaniu kodu unikaj jak ognia, metody copy-paste, to przy testowaniu, zastosuj kopiowanie testu "wprost" z treści zadania do stdin np na ideone.
  3. oczywiście, też nie podaję twojego błędu wprost, po to, abyś wreście [łatwiej] pozbył się klapek :wink:

PS
Jeżeli na ideone, nic nie wstawisz do stdin, dostaniesz co najmniej taki komunikat [stdin is empty, stdout ...] , lub wyświetlą się błedy związane z pustym wejściem, gdy twój program oczekuje czegoś bardziej konkretnego.