Foros del Web » Programación para mayores de 30 ;) » C/C++ »

un numero capicua

Estas en el tema de un numero capicua en el foro de C/C++ en Foros del Web. Ayuda con este ejercicio pofavor "introducir un numero y saber si es capicua o no" yo puedo hacerlo con numeros enteros pero el problema es ...
  #1 (permalink)  
Antiguo 13/04/2016, 20:08
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
un numero capicua

Ayuda con este ejercicio pofavor
"introducir un numero y saber si es capicua o no" yo puedo hacerlo con numeros enteros pero el problema es que me pidieron, que tambien salga en numeros decimales y nose como podria hacer eso, tampoco se si los numeros capícua pueden se decimales.
esta es mi programacion.

#include <iostream>
#include <cstdlib>

using namespace std;
int num,a,b,c;
void leer ()
{
cout << "Int un numero, para saber si es o no es capicua:"<<"\n";
cin >> num;
}
void calcular ()
{
a=num;
c=0;
b=0;

while(a!=0)
{
b=a%10;
a=a/10;
c=c*10+b;
}

if(c==num)
{
cout<< num <<" Es capicua"<<"\n";
}
else
{
cout<< num <<"no es capicua, ya que su volteado es"<<"\n";
cout<<c;
}
}
int main ()
{
leer ();
calcular ();
return 0;
}


Ayudenme porfavor
  #2 (permalink)  
Antiguo 14/04/2016, 02:54
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: un numero capicua

manía que hay de no usar el resaltado de sintaxis para el código...

Lo primero es decirte que SI, un número decimal puede ser capicua: 1.01, 3.3, 123.321, 1234543.21, y podría seguir hasta hartarme.

Para buscar números capicuas lo más sencillo es leer el número como una cadena de caracteres y entonces comparar el primer caracter con el último, el segundo con el penúltimo y así hasta llegar a la mitad (más óptimo) o hasta el final de la cadena.

En el caso de los decimales puedes optar por dos soluciones: Eliminar el punto de la cadena o, al encontrarte el punto, desplazar el índice que corresponda para comparar el siguiente carácter.

A modo de bonus podrías comprobar que al menos uno de los caracteres a comparar es un dígito numérico (si son iguales y uno es un dígito numérico está claro que el otro también lo es).

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: ejercicio, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:51.