hola estoy escribiendo un programa para saber si un numero es capicua o no, el codigo esta todo bien pero al ejecutarlo y luego de introducir el numero al programa se para y me aparece que el programa a dejado de funcionar.
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;
}