Nie bardzo wiem dlaczego sędzia mi nie akceptuje. Pomoże ktoś?
http://ideone.com/4H1CFH79
created
last reply
- 17
replies
- 1.1k
views
- 8
users
- 3
likes
- 5
links
Nie bardzo wiem dlaczego sędzia mi nie akceptuje. Pomoże ktoś?
http://ideone.com/4H1CFH79
Cześć,
Mój problem, tak samo jak poprzednika, jest związany z wyrzucaniem przez sędziego błędnej odpowiedzi, chociaż wszystkie testy jakie wykonałem dawały dobrą. Nie mam pojęcia co może nie działać.
Nawiązując do poprzedniej odpowiedzi sprawdziłem również w pliku w edytorze hexadecymalnym i niczego błędnego nie zauważyłem. (chyba, że źle patrzyłem)
Tu kod: https://ideone.com/nmQnwI13
Nie musisz sprawdzać tak dużych testów, chyba, że tylko chciałeś pokazać tutaj, że “solidnie” testowałeś. ;-_
W tym zadaniu są tylko trzy przypadki i test z zadania jest wystarczający do tego aby ewentualnie dostać AC.
W twoim wypadku natychmiast przetestowałbym “odwrócony” test [uśmiecham się, bo widzę potencjalny błąd w twoim kodzie, więc w razie czego jak nie znajdziesz pytaj śmiało].
5
2
1
0
-1
-2
PS
Możliwe, że się pomyliłem, więc jeszcze najpierw przetestuję twój kod.
Tak, pomyliłem się, bo masz moim zdaniem, trochę po bałaganiarsku napisany swój kod.
Taki test
ANDRZEJ
4
1
0
0
2
Linia: if (i > 0) cout << endl;
w tym miejscu gdzie jest wprowadza w błąd czytającego. Jest to chytre ale i tak za każdym razemsprawdzasz, czy i > 0 a wiadomo już dawno że jest za każdym razem [gdy już nie jest zerem].
Więc nic nie zyskujesz, a zmniejszasz czytelność.
Czy nie lepiej robić tego sprawdzania na końcu pętli?:
if (i < ile - 1) cout << endl;
?
Jeżeli piszesz tylko “dla” kompilatora i dla siebie i jest AC to ok, ale jeżeli jest błą to lepiej mieć jasny i czytelny kod.
Czemu masz traki zagmatwany? Pewnie chciałeś uniknąć powtórzeń kodu, ale dzięki temu bardziej zagmatwałeś.
Zrezygnuj ze swojej “chytrej” funkcji rewerse, można się tu bez niej obejść.
Czyli prosto jak cep [w końcu komputer lubi prosto i jasno]"
wczytujemy
jeżeli skala == 0 od razu wypisujemy
jeżeli dodatgnia
w petli od zera do dlugosci
wypisujemy litere
spacej x skala-1
else [jeżeli skala ujemna
w petli od dlugosci do 0
wypisujemy litere
spacje x |skala| -1
Wydaje mi się że to byłoby bardziej czytelne. Ewentualnie wypisywanie spacji, mógłbyś zastąpić funkcją lub wcześniej “budować” string ze spacji o odpowiedniej długości.
Reszta jest milczeniem ale jak jest Ac to ok, brawo.
Tę funkcję reverse akurat przekopiowałem z programu, który napisałem wcześniej (dlatego też lubię sobie to tak dzielić). Mimo wszystko muszę przyznać, że masz rację i tak jak ty to rozpisałeś, to dużo lepiej wygląda.
Coś takiego miałeś na myśli? To jest czytelne?
Topic | Category | Replies | Views | Activity |
---|---|---|---|---|
SPOJ.com - Problem ZABAWA pl.spoj.com | Zbiór zadań | 6 | 94 | 23d |
TFRACAL - Kalkulator ułamków | Zbiór zadań | 2 | 169 | Feb 1 |
FR_20_02 - Poszukiwacze skarbów - Błąd w testach? | Zbiór zadań | 1 | 132 | Apr 2 |