_______________________________________________________________________________________
6.6 Cree una clase llamada Complejo para realizar aritmética con números complejos. Escriba un programa para evaluar sus clases. Los números complejos tienen la forma:
parte real + parte imaginaria*i
donde i es raíz cuadrada de -1
Utilice variables double para representar datos de tipo private de una clase. Proporcione un constructor que permita inicializar un objeto de esta clase cuando se declare. El constructor debe contener valores predeterminados en caso de que no se proporcionen inicializadores. Proporcione funciones miembro de tipo para cada uno de los siguientes:
a) Suma de dos números Complejos: las partes reales se suman juntas y las parte imaginarias se suman juntas.
b) Resta de dos números complejos: la parte real del operando derecho se resta a la parte real del operando izquierdo, y la parte imaginaria del operando derecho se resta a la parte imaginaria del operando izquierdo.
c) Impresión de números complejos de la forma (a,b) en donde a es la parte real y b es la parte imaginaria.
_______________________________________________________________________________________
Solución:
#include <iostream> using namespace::std; // Se define la clase Complex class Complex { // Abre la clase complex public: Complex( float = 0, float = 0); // Constructor void Recibe(); float Real(); float Imaginario(); void Suma(float, float, float, float); void Resta(float, float, float, float); void Impresion() /* Esta funcion miembro, por ser la mas simple, se definira aqui mismo, solo como un ejemplo de que esto puede hacerse */ { // Abre la funcion miembro Impresion cout << "( " << R << " , " << I <<" )" << endl; } // Cierra la funcion miembro Impresion private: float R; float I; }; // Cierra la clase complex ////////////////////////////////////////////////////////////// // CONSTRUCTOR ///////////////////////////////////////////////////////////////// Complex::Complex( float a, float b) { // Abre constructor R = a; I = a; } // Cierra constructor ///////////////////////////////////////////////////////////////// // FUNCION MIEBRO RECIBE ///////////////////////////////////////////////////////////////// void Complex::Recibe() { // Abre funcion miembro Recibe cout << "\nIntroduzca la parte real del numero: " << endl; cin >> R; cout << "\nIntroduzca la parte compleja del numero: " << endl; cin >> I; } // Cierra funcion miembro Recibe /////////////////////////////////////////////////////////////////// // FUNCION MIEMBRO REAL ////////////////////////////////////////////////////////////////// float Complex::Real() { return R; } ///////////////////////////////////////////////////////////////// // FUNCION MIEMBRO IMAGINARIO //////////////////////////////////////////////////////////////// float Complex::Imaginario() { return I; } //////////////////////////////////////////////////////////////// // FUNCION MIEMBRO SUMA /////////////////////////////////////////////////////////////// void Complex::Suma( float a, float b, float c, float d) { // Abre funcion miembro Suma cout <<"\n La suma de los numeros es: ( " << a + c << " , " << b + d <<" )" << endl; } // Cierra funcion miembro Suma ////////////////////////////////////////////////////////////// // FUNCION MIEMBRO RESTA ////////////////////////////////////////////////////////////// void Complex::Resta( float a, float b, float c, float d) { // Abre funcion miembro Resta cout <<"\n La resta de los numeros es: ( " << a - c << " , " << b - d <<" )" << endl; } // Cierra funcion miembro Resta /////////////////////////////////////////////////////////////////// // MAIN ///////////////////////////////////////////////////////////////// int main() { // Abre main Complex s; Complex x; Complex y; x.Recibe(); y.Recibe(); s.Suma(x.Real(), x.Imaginario(), y.Real(), y.Imaginario()); s.Resta(x.Real(), x.Imaginario(), y.Real(), y.Imaginario()); return 0; } // Cierra main
_______________________________________________________________________________________
La siguiente es una ejecución del programa
Introduzca la parte real del numero: 4 Introduzca la parte compleja del numero: 3 Introduzca la parte real del numero: 4 Introduzca la parte compleja del numero: 3 La suma de los numeros es: ( 8 , 6 ) La resta de los numeros es: ( 0 , 0 )
Demasiados errores
ResponderEliminarGracias, me sirvió mucho para comprender mejor lo visto en mis clases
ResponderEliminargracias hermaanoo!!!
ResponderEliminar---que Dios te bendiga---
ResponderEliminarjajjaja hermano LOL mugre santiago
ResponderEliminargracias maldito santiago
ResponderEliminarme puedes explicar el mismo programa pero solo con librerías stdio y conio
ResponderEliminary con funciones y apuntadores gracias
En realidad la razón de ser de éste programa es usar las clases y métodos. No tiene mucho caso resolver ésto con funciones, y menos aún con apuntadores. De hecho, tal como está el programa es largo y complejo de manera innecesaria. No sé exactamente para qué quieres escribirlo de otra manera. Por otro lado, stdio es la librería estándar de C, en tanto que conio no es parte del lenguaje. Se trata, más bien, de una librería creada para compilar en el sistema operativo MSDOS, de donde concluyo que usas windows. Yo compilo en linux y no uso la librería conio.
EliminarSaludos y muchas gracias por el comentario.
querría saber si podrías resolver lo mismo pero con la multiplicación y divison de dos complejos pero en forma polar, es decir , primero lo pasarías de forma binomica a la polar
ResponderEliminarMuy buen ejemplo ¡Slds!
ResponderEliminarMuy buen ejemplo ¡Slds!
ResponderEliminarMuy buen ejemplo ¡Slds!
ResponderEliminar