Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2011, 00:01
edynperu
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Busqueda programa que no tiene errores pero se para

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
  1. #include <iostream.h>
  2. #include <conio.h>
  3.  
  4.  
  5. int main ()
  6. {
  7.     //variables
  8.     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
  9.     //entrada
  10.     cout << "Ingrese el numero (maximo 21 cifras): ";
  11.     cin >> num;
  12.     //====================================================================================
  13.     /*/contar el numero de cifras
  14.     bnum=num;
  15.     for (i=1; bnum/10!=0;i++)
  16.     {
  17.         bnum=bnum/10;
  18.         numcifra=numcifra+1;
  19.     }
  20.     cout << numcifra;*/
  21.     //====================================================================================
  22.    
  23.     //contamos las cifras y sacamos digito por digito a cada cifra y lo ponemos en la variable
  24.     bnum=num;
  25.     for (i=1; bnum/10!=0;i++)// != desigual que
  26.     {
  27.         numcifra+=1; //aki se cuentan las cifras
  28.         n_dd[i]=bnum%10;
  29.         bnum=bnum/10;
  30.         if (bnum/10==0) // aki se da el valor para la ultima cifra
  31.         {
  32.                        n_dd[i+1]=bnum;
  33.         }
  34.     }
  35.     //igualamos
  36.     for (i=1; numcifra/2; i++)
  37.     {
  38.         if (n_dd[i]==n_dd[numcifra/2-i])
  39.         {
  40.                                  suma=0 ;      //suma sera cero
  41.         }else{
  42.               suma=suma+1;
  43.               }
  44.     }
  45.     // si suma=0 entonces es capicua
  46.     if (suma==0)
  47.     {
  48.                 cout << "\n\nEl numero es capicua" << endl;
  49.     }else{
  50.           cout << "\n\nEl numero es no capicua" << endl;
  51.     }
  52.  
  53.     getche ();
  54.     return 0;
  55. }