Buenas, tengo un problemin con este programa el cual te dice si un número es capicua o no. Compila bien pero debe de haber un error en la función Es_booleana pero no lo veo. Por ejemplo, el número 64546 es capicúa y te dice que no lo es. (Un número es capicúa cuando se lee igual para delante que para atrás). He buscado el algoritmo por internet y la mayoría son como el mio por eso no entiendo el error. Alguien puede ayudarme? Gracias
#include<iostream>
using namespace std;
int NumDigitos(int num){
int cont=0;
while(num){
cont++;
num/=10;
}
return cont;
}
bool Es_capicua(int num){
int total = NumDigitos(num);
int v[total-1];
bool es_capicua=false;
for(int i=0; i<=total; i++){
v=num%10;
num/=10;
}
for(int i=0; i<total; i++){
if(v==v[total-i])
es_capicua=true;
}
return es_capicua;
}
int main(){
int n;
cin >> n;
bool es_capicua = Es_capicua(n);
if(es_capicua)
cout << "Es capicua" << endl;
else
cout << "No es capicua" << endl;
}