Hola gente :)
Bueno a ver si me echan un cable con este code, que en mi pseudodigo funciona, pero llevado al programa y ejecutado este no muestra el capicua de forma correcta:
#include<stdio.h>
main()
{
int num, max, min, banmin=0, banmax=0, aux, resto, invertido=0;
do{
printf("\nIngrese Minimo: ");
scanf("%d", &min);
if(min < 0 || min < 9)
printf("\nIngrese correctamente\nSugerencia: Numeros de 2 digitos");
else
banmin=1;
}while(banmin == 0);
do{
printf("\nIngrese Maximo: ");
scanf("%d", &max);
if(max < min)
printf("\nMaximo es menor que minimo\nIngrese Nuevamente");
else
banmax=1;
}while(banmax == 0);
do{
num = min;
aux = num;
while(num > 0)
{
resto = num % 10;
num = num / 10;
invertido = invertido*10 + resto;
};
if(invertido == aux)
printf("\nEl numero es capicua: ", aux);
min = min + 1;
} while ( min < max);
return 0;
}
Si ingresan datos de 10 - 20, debe de mostrar 11 como capicua.
Pero ingresan datos de 11-12, muestra recientemente el capicua algo que no entiendo.
En fin saludos
Bueno acabo de ver tranquilamente este problema logico, que no entendia por que no resultaba el
capicua.
comprobe si no tomaba el min = min + 1, luego si estaba actualizando el num.
y le agregue los printf para verificar, estaban correctos.
Luego se me ocurrio meterle un printf en el resultado, eh aqui el problema no se actualizaba el
resultado se imprimia valores excesivos, asi que el resultado lo ubique dentro del do-while del max >= min y ahi si muestra
correctamente los datos.
while(max >= min){
num = min;
aux = num;
resultado = 0;
while(num > 0){
resto = num % 10;
num = num / 10;
resultado = resultado * 10 + resto;
}
if(resultado == aux)
printf("\nEl numero: %d es capicua --> %d", aux, resultado);
min = min + 1;
}