- Nie powinno się dołączać działających kodów (linków do takich kodów).
- Kod, na którym się wzorujesz, jest według mnie strasznie rozwleczony.
Mój kod ( w ogólnych założeniach dość podobny, też tworzę klasę Punkt) ma 70 (w dodatku sam zaimplementowałem sortowanie), a Twój ma ponad 150 linii.
A z całą pewnością nie można nazwać mojego kodu wzorcowymi, jest wiele lepszych rozwiązań. Ciekawy jestem co inni sądzą o tym kodzie.
Myślę, że łatwiej byłoby Ci przetłumaczyć na Javę prostszy kod.
Dzięki za odpowiedź
-
Masz rację, jednakże chciałem załączyć oba kody - może ktoś bardziej doświadczony ode mnie by coś wyłapał, coś co by wskazywało czemu jeden kod działa a drugi nie.
-
Zgodzę się przy rozwleczeniu, przy C++ trochę ''na ślepo" dawałem się prowadzić za rączkę przez Visual Studio który zachęcał do wypełniania konstruktorów, getterów i setterów poza klamrami klasy (głównie to tak rozwlekło kod). Ale jak SPOJ przyjmuje to już tak zostawiłem. Jak mi się będzie chciało to wrzucę tam bardziej kompaktowy kod. Także są settery niepotrzebne przy kodzie w C++ (przeciążony konstruktor już je ma, wystarczyłoby zamiast nowaX = x używać czegoś w stylu this.x = x jak zrobiłem w kodzie Java - jak się da).
Tak czy inaczej dzięki za sugestie.
EDIT: Postanowiłem kod skrócić już teraz, skrócił się do 100 linii.
witam, zerknąłby ktoś na kod ?
https://ideone.com/Mpgqfo20
Zerknąłem, no i trochę błędów tam jest.
.
.
.
.
.
===================================
Jeżeli dostajesz WA [wrong answer - błdna odpowiedź], to natychmiast powinieneś, ze skupienie i zrozumieniem jeszcze raz zajrzeć do treści zadania:
nazwa x y
gdzie nazwa jest unikalnym dla każdego testu ciągiem co najwyżej 10 liter alfabetu łacińskiego,
10 [słownie dziesięć] != 1 [słownie jeden]
PS
dokleiłeś siędo wątku, ale warto także do niego zajrzeć.
W funkcji sortowanie_babelkowe jest parametr int n natomiast wewnatrz funkcji jest deklaracja char n
Moze to wprowadzac zamieszanie.
Jeszcze obliczanie odleglosci punktu.
moze moj test jest troche zlosliwy i moze sedzia nie ma tego typu testu.
wejscie
1
3
A 0 0
C 1 1
B 0 -1
wyjscie
A 0 0
B 0 -1
C 1 1
math.h jest biblioteka typowa dla zwyklego C
W funkcji sortowanie_babelkowe jest parametr int n natomiast wewnatrz funkcji jest deklaracja char n
Moze to wprowadzac zamieszanie.
Jeszcze obliczanie odleglosci punktu.
moze moj test jest troche zlosliwy i moze sedzia nie ma tego typu testu.wejscie
1
3
A 0 0
C 1 1
B 0 -1
wyjscie
A 0 0
B 0 -1
C 1 1math.h jest biblioteka typowa dla zwyklego C
masz racje, nazwa n mogla robic zamieszanie, jednak po zmianie nazwy,by uniknac powtorek dalej jest bledna odpowiedz.
math.h jednak z tego co widze moze byc stosowana rowniez co C++ gdzie ulatwia obliczanie poteg i pierwiastkow
Niestety jest problem z tym, że dopuszczasz nazwy tylko jednoliterowe. Co Twój program zrobi, gdy w teście będzie nazwa dwu, trzy,… literowa. Gdybyś dopuścił nazwy 100 literowe, to rzeczywiście z punktu widzenia logiki rozwiązanie nie przeszkadzałoby to. Poszedłeś w złą stronę.
C++ dopuszcza bibliotekę math.h ale dlaczego nie korzystać z biblioteki dedykowanej wprost do C++ czyli cmath? Masz zamiar w przyszłości swój kod przerabiać na C?
dobrze, jednak po zmianie rodzaju zmiennej ze znakow czyli char na string SPOJ nadal uwaza ze jest bledna odpowiedz, wiec nie w tym problem. Mysle ze skoro i jedna i druga biblioteka spelnia swoje zadanie to nie ma co sie zaglebiac co dalej bede z tym robil. Wazniejsza kwestia dla mnie jest rozwiazanie zagadki dlaczego kod nie przechodzi, co nie dziala poprawnie
char na string
trzeba poprawic w wielu miejscach. Czy poprawiles w wielu miejscach?
moj przyklad nie jest bezsensowny bo pokazuje bardzo wazna rzecz dotyczaca obliczania odleglosci.
uwaga dotyczaca biblioteki moze i jest najmniej sensowna, ale gdyby sie jej pozbyc i nie wstawiac innej to powyzszy problem rozwiazalby sie.
PS.
Na Twoim kodzie dostalem AC jako uzytkownik Kucyk (konto uzywam do cudzych kodow, eksperymentow itp. nie chce miec balaganu)