Cześć. Prosiłbym o pomoc w zlikwidowaniu błędu w moim kodzie
Zrobiłem wyjątek jedynie dla liczby 100000 bo wyswietlal sie napis “sto”. Przy innych liczbach wszystko było tak jak należy (sprawdziłem na tescie j4rooo).
Spoj wypluwa “błędną odpowiedź”. Czy to może chodzić o to że input jest stringiem a nie liczbą?
Niestety ten blad pojawia sie gdy liczba dziesiatek i jednosci rowne sa 0. np 100.000, 300.432.234, 987.100.239.
wyswietli : sto… trzysta czterysta trzydziesci dwa tys. dwiescie trzydziesci cztery … dziewiecset osiemdziesiat siedem mln. sto dwiescie trzydziesci dziewiec
Ten wyjatek juz usuwam bo tylko wprowadzał chaos
tak, ja wiem - co nie znaczy, że napiszę
bo to przecież jest proste - robimy na ideone.com14 test referencyjny (czyli ten z 98) i wiemy dla jakiej wartości mamy błąd, potem wystarczy spojrzeć w kod
i uwagi ogólne:
-
pisząc program, należy pamiętać, że prawdopodobieństwo wystąpienia błędu jest w najlepszym wypadku proporcjonalne do jego długości, a zwiększa się gwałtownie w przypadku nadużywania instrukcji if
-
nadmierna oszczędność nie popłaca, rozrzutność też
Niestety, po usunięciu SIGSEGV jest WA
Nie napiszesz ponieważ… ? Chociaż nakieruj mnie dla jakiej wartości pokazuje błąd, od niedawna uczę się C++ i mogę czegoś nie zauważyć. Robię test na ideone mojego programu, wrzucam do stdin test 98 i pokazują mi się outputy do sto włącznie, reszty brak.
Ok skoro znalazłeś błąd SIGSEGV wiesz jak naprawić błąd z WA?
jeżeli klikniesz na tekst błąd kompilacji - to zobaczysz, co chce od ciebie kompilator
zaś problem bierze się stąd, że ustawienia kompilatora C++ 4.3.2 są nieco inne na spoj-u i ideone.com5