Cree una clase llamada complejo para realizar aritmética con numeros complejos. Escriba un programa controlador para probar sus clases.
Los numeros complejos tienen la forma:
parteReal + parteImaginaria * i donde i es raiz cuadrada de -1 (sqrt(-1))
Utilice variables double para representar datos de tipo private de una clase. Proporcione funciones miembro de tipo public para cada uno de los siguientes:
a)Suma de dos numeros complejos: las parte real se suman juntas y la parte imaginarias se suman juntas.
b)Resta de dos numeros complejos: la parte real del operando derecho se resta de la parte real del operando izquierdo, y la parte imaginaria del operando derecho se resta de la parte imaginaria del operando izquierdo.
c)Impresión de numerous complejos de la forma (a,b), en donde a es la parte real y b es la parte imaginaria.
Problema propuesto del libro C/C++ y Java Como Programar Cuarta Edición Deitel-Deitel ejercicio 16.5 pagina 565.
Codificacion CodeBlocks
#include <iostream>
#include <iomanip>
using namespace std;
class Complejo
{
private:
double parteReal;
double parteImaginaria;
public:
Complejo(double =1 , double =1);
void estComplejo(double, double);
double obtenerParteReal();
double obtenerParteImaginaria();
Complejo obtenerNumeroComplejo();
Complejo sumaComplejos(Complejo,Complejo);
Complejo restaComplejos(Complejo,Complejo);
void imprimeComplejo(Complejo);
};
Complejo::Complejo(double real, double imag)
{
parteReal=real;
parteImaginaria=imag;
}
void Complejo::estComplejo(double re, double ima)
{
parteReal=re;
parteImaginaria=ima;
}
double Complejo::obtenerParteReal()
{
return parteReal;
}
double Complejo::obtenerParteImaginaria()
{
return parteImaginaria;
}
Complejo obtenerNumeroComplejo(Complejo numC)
{
return numC;
}
Complejo Complejo::sumaComplejos(Complejo c1,Complejo c2)
{
Complejo resul;
double pR1,pR2,pI1,pI2,sR,sI;
pR1=c1.obtenerParteReal();
pR2=c2.obtenerParteReal();
pI1=c1.obtenerParteImaginaria();
pI2=c2.obtenerParteImaginaria();
sR=pR1+pR2;
sI=pI1+pI2;
resul.estComplejo(sR,sI);
return resul;
}
Complejo Complejo::restaComplejos(Complejo c1,Complejo c2)
{
Complejo resul;
double pR1,pR2,pI1,pI2,rR,rI;
pR1=c1.obtenerParteReal();
pR2=c2.obtenerParteReal();
pI1=c1.obtenerParteImaginaria();
pI2=c2.obtenerParteImaginaria();
rR=pR1-pR2;
rI=pI1-pI2;
resul.estComplejo(rR,rI);
return resul;
}
void Complejo::imprimeComplejo(Complejo re)
{
cout<<re.obtenerParteReal()<<" + "<<re.obtenerParteImaginaria()<<"i"<<endl;
}
int main()
{
Complejo numC1(8,2),numC2,resC;
resC=resC.sumaComplejos(numC1,numC2);
cout<<"El resultado de la suma de los numeros complejos\n";
cout<<setw(5)<<numC1.obtenerParteReal()<<" + "<<numC1.obtenerParteImaginaria()<<"i"<<endl;
cout<<setw(5)<<numC2.obtenerParteReal()<<" + "<<numC2.obtenerParteImaginaria()<<"i"<<endl;
cout<<setw(4)<<"=";
resC.imprimeComplejo(resC);
resC=resC.restaComplejos(numC1,numC2);
cout<<"\n\nEl resultado de la resta de los numeros complejos\n";
cout<<setw(5)<<numC1.obtenerParteReal()<<" + "<<numC1.obtenerParteImaginaria()<<"i"<<endl;
cout<<setw(5)<<numC2.obtenerParteReal()<<" + "<<numC2.obtenerParteImaginaria()<<"i"<<endl;
cout<<setw(4)<<"=";
resC.imprimeComplejo(resC);
return 0;
}
No hay comentarios:
Publicar un comentario