Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Sothu en 17 Noviembre 2015, 17:29 pm



Título: Ayuda programa c++
Publicado por: Sothu en 17 Noviembre 2015, 17:29 pm
Buenas, necesito un programa que me haga lo siguiente:
dada una secuencia de entrada diga si hay 2 numeros consecutivos tales que la suma de sus cifras coincida. Despues de la ultima dada se introducira un -1.
De momento tengo creado el codigo siguiente, pero no se como comparar los valores consecutivos dentro de la secuencia. Gracias!
Código:
#include <iostream>

using namespace std;

const int EOS = -1;

int sumaCifras(int n)
{
    int suma=0;
    while (n!=0)
    {
          suma+=n%10;
          n=n/10;
    }
    return suma;
}

int main()
{
    int numero, numero1, a, b;
    cout << "DADES:" << endl;
    while (numero != EOS || numero1 != EOS)
    {
        cin >> numero;
        numero1 = numero;
        if (sumaCifras(numero) == sumaXifres(numero1))
        {
            a = numero;
            b = numero1;
        }
    }
    cout << a << "," << b;
    return 0;
}


Título: Re: Ayuda programa c++
Publicado por: ivancea96 en 17 Noviembre 2015, 19:41 pm
Ese numero1=numero hace que numero y numero1 sean iguales, así que el programa no funcionará. Pon esa igualación al final del bucle.

Dentro del if, puedes poner un break; para salir del bucle cuando hayas encontrado los números.