No me funciona el programa de los palindromos,¿Que tengo mal o que me falta?
#include <iostream> #include <array> using namespace std; const int MAX=10; typedef array <int, MAX>TArray; typedef struct { TArray lista; int tam; }TArraytam; typedef struct { Tintermedios lista; int tam; }Tinter; int dig(int num) { int d=0; while(num!=0) { num=num/10; d++; } return d; } void inicializar(TArraytam &a,int &d) { a.tam=d; for(int i=0;i<a.tam;i++) { a.lista[i]=0; } } void deNumeroaDigitos(int &num,TArraytam &a,int &d) { int i = 0; do{ a.lista[i] = num % 10; num = num / 10; i++; }while(num != 0); } void escribir (const TArraytam &a,int &d) { for(int i=0;i<a.tam;i++) { cout<<a.lista[i]<< " " ; } } int deDigitosaNumero(const TArraytam &a) { int resultado=0; for(int i = 0; i < a.tam; i++) { resultado = resultado*10 + a.lista[i]; } return resultado; } bool esPalindromo(int num,int &resultado) { bool es=false; if(num==resultado) { es=true; } return es; } int main() { TArraytam a; int num,resultado; cout<< "intr. num:"; cin>>num; int d=dig(num); inicializar(a,d); deNumeroaDigitos(num,a,d); escribir(a,d); resultado=deDigitosaNumero(a); cout<<endl<< resultado<<endl; bool si=esPalindromo(num,resultado); if(si==true) { cout<< "Es palindromo."; } else { cout<< "No es palindromo."; } return 0; }