[Ayuda] Programa capicua

Iniciado por Sothu, 1 Noviembre 2015, 13:24 PM

0 Miembros y 1 Visitante están viendo este tema.

Zodiak98

Como dice ivancea96, plantea el algoritmo en un papel y así te resultará todo más claro cuando lo pases a código ya que sabrá lo que tienes que hacer y no lo harás todo a "pegar" a ver si funciona.

Para invertir un número lo que tienes que hacer es tomar la última cifra, luego tienes que ir desplazándola para sumarle la siguiente, por lo que tienes que multiplicar por 10 y sumarle la siguiente, y así hasta que el valor del número a invertir sea cero.

Teniendo eso en mente, el código quedaría algo así:

Código (cpp) [Seleccionar]

#include <iostream>

int invertir(int n) {
    int nInvertido = 0;

    while(n != 0) {
        nInvertido = (nInvertido * 10) + (n % 10);
        n /= 10;
    }

    return nInvertido;
}

int main() {
    int numero;
    std::cout << "Introduzca numero: "; std::cin >> numero;
    std::cout << "Numero invertido: " << invertir(numero);
    std::cin.get();
    return 0;
}