9/26/2016

Ejercicio 16

Elabore un algoritmo que lea las variables A y B y pase el valor de A a B y de B a A. Sin usar más variables.


#include <iostream>
//Se incluye la clase Pasar para despues llamar a sus metodos 
#include "Pasar.h"

using namespace std;

int main(void)
{
    // se crea un objeto de la clase Pasar (Instanciaciación) 
    Pasar *obj = new Pasar(); 
    int n1, n2; // se definen las variables n1 y n2 de tipo entero 
    
    // se le pide al usuario que digite el valor de "A". 
    cout << "Digite el valor de A" << endl;
    cin >> n1; //se guarda el valor que se digito en la variable n1. 
    // se encapsula la variable n1. 
    obj->setA(n1);

    // se le pide al usuario que digite el valor de "B". 
    cout << "Digite el valord e B" << endl;
    cin >> n2; // se guarda el valor que se digito en la variable n2. 
    // se encapsula la variable n2. 
    obj->setB(n2);

    // se llama al metodo "pasarNumero()". 
    obj->pasarNumero();
    // se muestran los valores cambiados. 
    cout << "El nuevo valor de A es: " << obj->getA() << endl;
    cout << "El nuevo valor de B es: " << obj->getB() << endl;
}
     

#ifndef PASAR_H
#define PASAR_H

class Pasar
{
    public:
        Pasar();
        virtual ~Pasar();
        // se definen los metodos publicos: 
        void pasarNumero();

        // se definen los metodos Setters y Getters de los atributos "a" y "b". 
        void setA(int val);
        int getA();
        void setB(int val);
        int getB();

    protected:

    private:
        // se definen los atributos privados: 
        int a; // "a" de tipo entero 
        int b; // "b" de tipo entero 
};

#endif // PASAR_H
     

#include "Pasar.h"

Pasar::Pasar()
{
    //ctor 
}

Pasar::~Pasar()
{
   //dtor 
}

void Pasar::pasarNumero()
{
    // supongamos que a = 5 y b = 2. 
    a = a + b;//A la variable a(5) se le asigna a(5) + b(2) = 7. 
    b = a - b;//A la variable b(2) se le asigna a(7) - b(2) = 5. 
    a = a - b;//A la variable a(7) se le asigna a(7) - b(5) = 2. 
}

void Pasar::setA(int val)
{
    // se le asigna val a la variable a. 
    a = val;
}

int Pasar::getA()
{
    // se reetorna el valor de a. 
    return a;
}

void Pasar::setB(int val)
{
    // se le asigna val a la variable b. 
    b = val;
}

int Pasar::getB()
{
    // se retorna el valor de b. 
    return b;
}
     

//Se importa paquete JOptionPane  para dibujar un cuadro de dialogo en pantalla
//que muestre información o para llenar información. 
import javax.swing.JOptionPane; 

public class Main
{
    public static void main(String[] args)
    {
        // se crea un objeto de la clase Pasar  (Instanciaciación) 
        Pasar obj = new Pasar(); 
        int n1, n2; // se definen las variables n1  y n2  de tipo entero 

        // se le pide al usuario que digite el valor de A  y se guarda en la variable n1 . 
        n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de A"));
        // se encapsula la variable n1 . 
        obj.setA(n1);

        // se le pide al usuario que digite el valor de B  y se guarda en la variable n2 . 
        n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de B"));
        // se encapsula la variable n2 . 
        obj.setB(n2);

        // se llama al metodo pasarNumero() . 
        obj.pasarNumero();
        // se muestran los valores cambiados. 
        JOptionPane.showMessageDialog(null, "El nuevo valor de A es: " + obj.getA());
        JOptionPane.showMessageDialog(null, "El nuevo valor de B es: " + obj.getB());
    }
}
     

public class Pasar
{
    // declaramos dos variables de tipo entero: a  y b  
    private int a;
    private int b;
    
    public void pasarNumero()
    {
        // supongamos que a  = 5 y b  = 2. 
        a = a + b; // a la variable a(5) se le asigna a(5) + b(2) = 7. 
        b = a - b; // a la variable b(2) se le asigna a(7) - b(2) = 5. 
        a = a - b; // a la variable a(7) se le asigna a(7) - b(5) = 2. 
    }

    public void setA(int val)
    {
        // se le asigna el valor de val a la variable a . 
        a = val;
    }

    public int getA()
    {
        // se retorna el valor de a . 
        return a;
    }

    public void setB(int val)
    {
        // se le asigna el valor de val a la variable b . 
        b = val;
    }

    public int getB()
    {
        // se retorna el valor de b . 
        return b;
    }
}