Informatică, întrebare adresată de vlad6478, 8 ani în urmă

se citesc de la tastatura 2 numere complexe prin partea reala si partea imaginara. Sa se efectueze adunarea, scaderea si înmulțirea lor. ​

Răspunsuri la întrebare

Răspuns de andrei750238
0

Varianta I (recomandata) :

#include <iostream>

using namespace std;

//Declaratii sturcturi

struct Complex {

   double parte_reala, parte_imaginara;

};

//Supraincarcare operatori

Complex operator + (Complex a, Complex b) {

   Complex suma;

   suma.parte_reala = a.parte_reala + b.parte_reala;

   suma.parte_imaginara = a.parte_imaginara + b.parte_imaginara;

   return suma;

}

Complex operator - (Complex a, Complex b) {

   Complex dif;

   dif.parte_reala = a.parte_reala - b.parte_reala;

   dif.parte_imaginara = a.parte_imaginara - b.parte_imaginara;

   return dif;

}

Complex operator * (Complex a, Complex b) {

   Complex prod;

   prod.parte_reala = a.parte_reala * b.parte_reala - a.parte_imaginara * b.parte_imaginara;

   prod.parte_imaginara = a.parte_reala * b.parte_imaginara + a.parte_imaginara * b.parte_reala;

   return prod;

}

void afisare_complex(Complex z) {

   if (!z.parte_imaginara)cout << z.parte_reala;

   else if (z.parte_reala && z.parte_imaginara > 0) cout << z.parte_reala << "+" << z.parte_imaginara << "i";

   else if (z.parte_reala && z.parte_imaginara < 0) cout << z.parte_reala << z.parte_imaginara << "i";

   else if (!z.parte_reala) cout << z.parte_imaginara << "i";

}

int main() {

   Complex a, b;

   

   //Citire date

   cout << "Scrieti nr a :";

   cin >> a.parte_reala >> a.parte_imaginara;

   cout << "Scrieti nr b :";

   cin >> b.parte_reala >> b.parte_imaginara;

   //Afisare rezultat

   cout << "\nSuma este ", afisare_complex(a + b);

   cout << "\nDiferenta este ", afisare_complex(a - b);

   cout << "\nProdusul este ", afisare_complex(a * b);

}

Varianta II (mai usor de inteles):

#include <iostream>

using namespace std;

int main() {

   int ax, ay, bx, by;

   

   //Citire date

   cout << "Scrieti nr a :";

   cin >> ax >> ay;

   cout << "Scrieti nr b :";

   cin >> bx >> by;

   //Afisare rezultat

   cout << "\nSuma este " << ax + bx << " + " << ay + by << "i";

   cout << "\nDiferenta este " << ax - bx << " + " << ay - by << "i";

   cout << "\nProdusul este " << ax * bx - ay * by << " + " << ax * by + bx * ay << "i";

}

Anexe:

anonimanonim183: răspunde-mi te rog și mieee
anonimanonim183: te rog
anonimanonim183: trebuie sa o predau pana vineri seara
anonimanonim183: te rog frumos
Alte întrebări interesante