1 / 28
Nov 2015

Już żałuję,że już Ci odpowiedziałem. Ale w takim razie tamtą podpowiedź kasuję.

Didn't see that. Whatever, your call...

Anyway, dzięki że wskazałeś mi brak przerwania pętli.

Dziwne, że kompilacji, a nie wykonania, ale jeżeli tą linijką:

i = lista.erase(i);

usuniesz ostatni element z listy, to i będzie skazywać na lista.end(). Jak teraz zrobisz i++ to błąd gotowy.

PS. Zrób porządek i dodaj klamry w każdym ifie i forze, żeby było widać co się tam dzieje w jakiej instrukcji, bo tak to trzeba się wczytywać i m.in. przez to są tego typu problemy.

Na ideone testowałeś, kompilując C++4.3, a na SPOJ'u C++5
Zobacz jak jest cacy na ideone c++5: http://ideone.com/RwDVl041

prog.cpp:14:95: error: 'EOF' was not declared in this scope

PS
Gdybyś kliknął w błąd kompilacji na SPOJ'u, też by CI to pewnie wyświetliło.

O kurde, no rzeczywiscie. Teraz juz wiem na co zwracac uwage. Dzieki !

10 months later

Z treści zadania:
"Zestawy składają się z liczby całkowitej, po której następuje spacja i ciąg liczb całkowitych rozdzielonych spacjami."
Czy możliwe jest by po pierwszej liczbie całkowitej wystąpił ciąg liczb, ktory nie zawiera zadnej liczby?
czyli:
in:
3 (pusto)
out:
-

Jeżeli odpowiedź na to pytanie jest przecząca to poproszę Was o sugestie (testy bądź krytykę :wink: ) dotyczące kodu:

kod usuniety

Dzięki z góry za pomoc.

treść zadania tego nie wyklucza - zrób test na takie zdarzenie :slight_smile:

3 months later
6 months later

Zadanko nie chce mi uparcie przejść do AC, a dyskusja i podpowiedzi w tym wątku powyżej nie pomogły mi rozwiązać problemu.
https://ideone.com/nG262936
Wczytuje GETLINEm wszystko do STRINGA a potem szukam spacji i minusow i tworzę z tego tablice liczb.
Zadanie jest w kategorii łatwe wiec nie podejrzewam żeby sędzia sprawdzał liczby nie mieszczące się w LONG LONG, ale nie mam pomysłu co jeszcze innego może być źle.

Może zamiast wymyślać niezwykłe powody niezaliczenia zadania, przeczytaj uważnie treść zadania, może nawet lepiej kilka razy :slight_smile:

a potem doprowadź program do takiego stanu, aby dawał poprawną odpowiedź dla danych testowych z zadania

Zapominałem dopisać że w pierwszej wersji nie wiedziałem jeszcze jak program ma się zatrzymać i robiłem to ręcznie - po wpisaniu linii danych wciskałem CTRL+Z i jeszcze Enter.
Wtedy pierwsza wersja pokaże poprawny wynik. Zapomniałem o tym napisać
Jak pisałem tę pierwszą wersję jeszcze nie wiedziałem jak wprowadzić nieznaną ilość razy, nieznaną ilość danych, bo się uczę dopiero programować.
Potem podpatrzyłem jeden z linków w tej dyskusji i zrobiłem jak w nim, czyli wczytanie z Getline i rzutowanie na long long i dzięki temu w drugiej wersji jest już OK możesz wprowadzać dane i od razu po Enterze jest wynik, mam prośbę więc o zerknięcie i wychwycenie błędu w drugiej wersji.
Pierwsza wersję dla porządku usuwam.

co jest źle w drugiej wersji, jest dla mnie widoczne od razu, ale już znalezienie przykładu prezentującego błąd nie było łatwe :slight_smile:

metodą prób udało mi się znaleźć taki (tu był link do przykładu z błędnym wynikiem)

Jeśli to było dla Ciebie widoczne od razu to gratuluję wprawy, ja musiałem się chwilę pozastanawiać że chodzi o liczenie ujemnych z pozycji minusów.
Nawet mogę napisać że wiem czemu tu popełniłem błąd. Uparłem się żeby skończyć zadanko za jednym posiedzeniem późno wieczorem jak już byłem zmęczony i na sam koniec się zorientowałem że zapomniałem zrobić algorytmu do liczenia ujemnych i na szybko go dopisałem, ale program nie zadziałał nadal.
Następnego dnia już zapomniałem że te minusy pisałem na szybko i nie sprawdzałem już dokładnie ich liczenia i kłopoty gotowe. Przestroga żeby nie programować na siłę jak się jest już zmęczonym.
Dzięki za pomoc.

Chyba na roflcopterze znalazłem ciekawy przykład kodu źródłowego:

bla bla bla //mozna to bylo zrobic ladniej, ale juz po 17

Programowanie wymaga wypoczętego umysłu :wink:

bo (nawet dobre) uwzględnienie liczb ujemnych nie mogło mieć znaczenia - w danych testowych tego zadania nie ma ani jednego minusa :slight_smile:

zaś złe dodało dodatkowy błąd

zaś generalnie musisz popracować nad optymalizacją kodu - znaczna część kodu w tym zadaniu jest niepotrzebna a większość tego co by zostało można znacznie poprawić

1 year later

Mam taki kod z użyciem <set>

[https://ideone.com/p8JoNr25]

Z tego co widzę dane do set mam wpisane poprawnie. Chciałbym iterować wstecz aż do wymaganej pozycjii. Jednak wychodzą mi głupoty.
Podpowie ktoś poprawnie iterować?
Thx