Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/02/2014, 12:26
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: no se como comenzar

Cita:
Iniciado por superchava666 Ver Mensaje
ayuda con este problema. no se cómo comenzar.

.................................................. ...
. escriba un programa que lea números de cinco dígitos y que determine si es o no palndrimo.[pista: utilice los operadores de division y residuo para separar el número en sus digitos individuales]

.................................................. ..................
l
Al ser de cinco cifras sólo habrá que comprobar que:

* la primera cifra=numero/10000
coincide con la última=numero%10

* y que la segunda cifra=(numero-numero/10000*10000)/1000
coincida con la penúltima=(numero/10)%10))

Ni se te ocurra simplificar los 10000 que aparecen arriba, ya que se trata de una división de enteros. Para que lo visualices:

numero=12345
numero/10000=1
numero-numero/10000*10000=12345-1*10000=2345 y /1000=2 que es la segunda cifra.

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4.   int i,digitos=0,numero;
  5.   printf("Introduzca un numero de cinco digitos:\n");
  6.   do{
  7.     scanf("%d",&numero);
  8.     for (i=10;(numero/i)>0;i*=10)
  9.       digitos++;
  10.     if (digitos!=4){
  11.       puts("He dicho de cinco digitos");
  12.       printf("Introduzca un numero de cinco digitos:\n");
  13.     }
  14.   }while (digitos!=4);
  15.   if (numero/10000==numero%10  && ((numero-numero/10000*10000)/1000)==((numero/10)%10))
  16.     printf ("\nES capicua\n");
  17.   else
  18.     printf ("\nNO es capicua\n");
  19.   return 0;
  20. }