Cześć. Czy mógłby ktoś wytłumaczyć mi moje błędy ? Program ma sprawdzać, czy liczba wpisana przez użytkownika tworzy palindrom.
#include <iostream>
#include <iomanip>
using namespace std;
const int MAX=9;
int dzielnacyfry(long int liczba, int TC[]);
void piszCyfry(int T[], int n);
bool czy_palindrom(int T[], int pierwszy_wyraz, int ostatni_wyraz, int ile_cyfr);
int main()
{
long int liczba;
int TC[MAX];
cout<<"Podaj liczbe: ";
cin >>liczba;
int n=dzielnacyfry(liczba,TC);
piszCyfry(TC, n);
if(czy_palindrom(TC, 0, n-1, dzielnacyfry))
cout<<"Liczba tworzy palindrom";
else cout<<"Liczba nie tworzy palindromu";
return 0;
}
//*********************************
int dzielnacyfry(long int liczba, int TC[])
{
int ile_cyfr=0;
while(liczba>0)
{
TC[ile_cyfr]=liczba%10;
liczba=liczba/10;
ile_cyfr++;
}
return ile_cyfr;
}
//*********************************
//*********************************
void piszCyfry(int T[], int n )
{
for(int i = n-1; i>=0; i--)
cout<<setw(5)<<T[i];
cout<<endl;
}
//*********************************
//*********************************
bool czy_palindrom(int T[], int pierwszy_wyraz, int ostatni_wyraz, int ile_cyfr)
{
for(int i=0; i<(ostatni_wyraz-1); i++)
if((T[i]==T[(ile_cyfr-1)-i])
return true;
else return false;
}