do
{
n+=m;
m=odwroc(n);
ii++;
}while((n+m)!=odwroc(n+m));
cout<<n+m;
Powyżej problemowy kawałek kodu.
Podany jest przypadek, gdy program ustalił, że liczba nie jest palindromem.
Zaznaczam, że funkcja odwroc() działa poprawnie tzn. faktycznie odwraca liczby np. 58 na 82.
Palindrom - liczba, którą czyta się tak samo od lewej do prawej strony, jak od prawej do lewej np. 121.
Przykładowo, użytkownik podaje liczbę 28, a program ma sprawdzić, czy jest ona palindromem.
Jeśli nie program dodaje do siebie tę liczbę i jej odwrotność tzn. 28 + 82 = 110. Znowu sprawdza, czy jest ona palindromem. Nie jest, więc dodaje do siebie 110 + 011 = 121. Ta liczba jest już palindromem, więc program powinien pokazać ją na ekranie oraz liczbę dodawań potrzebnych do jej uzyskania.
Pętla nic nie zwraca :/ Czemu? Dopiero uczę się programowania.
Podejrzewam, że problem leży w warunku.