Cześć zrobiłem program, aby sprawdzał, czy dana liczba jest palindromem, jeśli nie to ma dodawać do siebie wyrazy i sprawdzić czy ta suma jest palindromem itd, niestety nie działa, a nie za bardzo wiem gdzie ;/ Czy ktoś mi podpowie, gdzie zwrócić uwagę, albo gdzie daje ciała?
#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
string liczba, odwrocona_liczba;
int dlugosc, odw_liczba,n_liczba, ile, proba=0;
int l_iczba;
int main()
{
cin >> liczba; // string
dlugosc=liczba.length();
for(int i=dlugosc-1; i>=0; i--)
{
odwrocona_liczba+=liczba[i];
}
n_liczba=atoi(liczba.c_str()); //liczba do inta
odw_liczba=atoi(odwrocona_liczba.c_str()); //odwrocona liczba do inta
if(n_liczba==odw_liczba)
{
cout << n_liczba << " " << proba << endl;
}
else
{
do
{
proba++;
l_iczba=n_liczba+odw_liczba; //ustala nowa liczbe
ostringstream ss;
ss << l_iczba;
string liczba = ss.str(); //konwersja na string
dlugosc=liczba.length();
for(int i=dlugosc-1; i>=0; i--)
{
odwrocona_liczba+=liczba[i];
}
n_liczba=atoi(liczba.c_str());
odw_liczba=atoi(odwrocona_liczba.c_str());
}
while(n_liczba!=odw_liczba);
cout << n_liczba << " " << proba << endl;
}
return 0;
}