/* Leer por teclado un número entero largo e indicar si el número leído es o no capicúa. Para ello debe utilizarse un array unidimensional donde almacenaremos cada una de las cifras del número leído.
Se implementarán dos funciones, una para descomponer el número en cifras y cargar el array, y otra para comparar las posiciones del array y determinar si el número es capicúa. */

#include <stdio.h>

int descomponer_numero(long int,int[]);
int comparar_posiciones(int,int[]);

main()
{
 long int n;
 int t[10],c;
 system("cls");
 printf("\nIntroduce un numero para ver si es capicua :");
 scanf("%ld",&n);
 c=descomponer_numero(n,t);
 if(comparar_posiciones(c,t))
    printf("\n\t\t\t CAPICUA \n ");
 else
    printf("\n\t\t\t NO CAPICUA \n");
}

int descomponer_numero(long int a,int tabla[])
{
 int cifras=0;
 while(a!=0)
 {
   tabla[cifras]=a%10;
   a=a/10;
   cifras++; 
  }
 return cifras;    //Devolvemos la cantidad de cifras que tenía el número
}


int comparar_posiciones(int c,int tabla[])
{
 int i=0; 
 while(i<c)
 {
   if(tabla[i]!=tabla[c-1])
      return 0;       //Falso, no es capicúa
   i++;
   c--;
  }
 return 1;             //Verdadero, es capicúa
}

d VOLVER