gracias por sus respuestas
Código C++:
Ver original
#include <iostream.h> #include <conio.h> int main () { //variables int num, bnum, numcifra=1, i = 0, suma=0, n_dd[10]; //debido a que n_dd tiene 10 elementos solo se puede procesar numeros hasta de 21 cifras //entrada cout << "Ingrese el numero (maximo 21 cifras): "; cin >> num; //==================================================================================== /*/contar el numero de cifras bnum=num; for (i=1; bnum/10!=0;i++) { bnum=bnum/10; numcifra=numcifra+1; } cout << numcifra;*/ //==================================================================================== //contamos las cifras y sacamos digito por digito a cada cifra y lo ponemos en la variable bnum=num; for (i=1; bnum/10!=0;i++)// != desigual que { numcifra+=1; //aki se cuentan las cifras n_dd[i]=bnum%10; bnum=bnum/10; if (bnum/10==0) // aki se da el valor para la ultima cifra { n_dd[i+1]=bnum; } } //igualamos for (i=1; numcifra/2; i++) { if (n_dd[i]==n_dd[numcifra/2-i]) { suma=0 ; //suma sera cero }else{ suma=suma+1; } } // si suma=0 entonces es capicua if (suma==0) { cout << "\n\nEl numero es capicua" << endl; }else{ cout << "\n\nEl numero es no capicua" << endl; } getche (); return 0; }