witam,
podpinam się pod ostatni post w temacie.
jedna z funkcji w programie ma odwracać kolejność cyfr.
podczas sprawdzania moja wypisuje cyfra po cyfrze, ale już nie wypisuje stringa jako calosci. czy mozecie luknąć? jest poza zakresem???
(oczywiscie w ideonie kod jest podany tylko jako forma odniesienia)
Edyta podpowiada: zrób najpierw zadanie: Tablice.
Proszę mi już nie odpowiadać. dz.
Witam, prosze o wskazanie błedu, znajduje się on gdzieś w funkcji. Przynajmniej tak twierdzi ideone.
Link do zadania https://pl.spoj.com/problems/BFN1/2
Link do ideone https://ideone.com/RO3rfD7
Dziękuje za pomoc!
Dzięki za rady, napisałem własną funkcje odwracająca elementy, zamiast atoi i itoa uzylem sprintf i sscanf ale niestety nie pomoglo.
Ideone tez zwraca sukces https://ideone.com/cssAKc9
Prosze o jakas inna podpowiedz z góry dzieki!
Twój kod nie przechodzi dla testu:
2
10
11
Nie potrzebujesz też ifa który sprawdza czy ile_testow mieści sie w podanym zakresie. Zakres jest podany w treści zadania tylko po to aby dać pojecie o wielkości danych wejściowych i dobrać odpowiedni typ zmiennej. Pomijając tego ifa to usunięcie dokładnie jednej linijki z Twojego kodu pozwoliło otrzymać AC.
Witam,
mam problem z rozwiązaniem tego zadania. Program piszę w python3. Kod liczy wszystko poprawnie do liczby 69. Proszę o wskazówki gdzie zrobiłem błąd.
https://ideone.com/ppFaBt12
Jeśli zmienię kolejność znaków tylko w jednej porównywanej połówce to nie spełnię warunków zadania.
Mając przykładowo liczbę x = 3456 najpierw tworze sobie jej odwrotność czyli 1542. Następnie sumuje dwie wartości i otrzymuje wynik 4998. Teraz sprawdzam czy pierwsze dwie cyfry są równe dwóm ostatnim a ty proponujesz mi odwrócenie kolejności znaków z 49 na 94 i porównanie tego z 98. Nie rozumiem dlaczego ;/
Właśnie o to chodzi. Zadanie polega na sprawdzaniu Czy liczba po zsumowaniu jest palindromem.
121 jest palindromem (treść zadania)
4884 jest palindromem (na marginesie jest to wynik zabawnych dodawań dla 69)
4848 nie jest palindromem
W sumie to nie musisz obracać połówki. Możesz też porównać po kolei znaki pierwszy z ostatnim, drugi z przedostatnim itd jeśli liczba jest dłuższa.
Dzień dobry,
bardzo proszę o pomoc. Niestety nie umiem znaleźć błędu, a sędzia jednak rozwiązanie odrzuca. https://ideone.com/DtPvW311
@eksekk dzięki, działa
Cześć,
jak moi przedmówcy, mam problem z uzyskaniem AC dla tytułowego zadania. Mój kod wygląda tak: https://ideone.com/SRa4c29 i jest napisany w C++.
Już trzeci dzień główkuję nad tym problemem i nie potrafię znaleźć błędu, dlatego proszę o pomoc .
Dostaje takie same wyniki w moim programie który dostał AC.
EDIT:
w związku z postem @bieniek_k moja analiza jest niepotrzebna i myląca więc skasowałem.
Ja odkryłem że kod kolegi @elefesel nie działa tylko w c++ 4.3.2. W każdej wyższej wersji już dostanie AC, tylko jeszcze nie mogę odkryć skąd się bierze ten błąd
P.S
Po wielu próbach uzyskałem AC na 4.3.2. Zmieniłem tylko jedną rzecz.
ans = palinSum(number, &sumNum);
cout<<ans<<" "<<sumNum<<endl;
A dlaczego nie wiem Może ktoś mądrzejszy będzie potrafił to wyjaśnić
cout<<palinSum(number, &sumNum)<<" "<<sumNum<<endl;
Pisząc taką linijkę zakładamy, że cout wykonuje operacje od lewej do prawej. Czyli najpierw wywołana zostanie metoda palinSum, a potem zostanie pobrana wartość z obliczonego już sumNum. A tak być nie musi.
Może się zdarzyć, że najpierw wypiszemy zero, a dopiero potem odpalimy funkcję palinSum.
Poprawka @bieniek_k zadziałała, bo najpierw obliczył wynik, a dopiero potem pobrał wartość.