Program C ++ za dodajanje kompleksnih števil s prenašanjem strukture v funkcijo

Ta program vzame dve zapleteni številki kot strukturi in ju doda z uporabo funkcij.

Če želite razumeti ta primer, morate poznati naslednje programske teme C ++:

  • Strukture C ++
  • Struktura in funkcija C ++

Primer: izvorna koda za dodajanje dveh kompleksnih številk

 // Complex numbers are entered by the user #include using namespace std; typedef struct complex ( float real; float imag; ) complexNumber; complexNumber addComplexNumbers(complex, complex); int main() ( complexNumber num1, num2, complexSum; char signOfImag; cout << "For 1st complex number," << endl; cout << "Enter real and imaginary parts respectively:" <> num1.real>> num1.imag; cout << endl << "For 2nd complex number," << endl; cout << "Enter real and imaginary parts respectively:" <> num2.real>> num2.imag; // Call add function and store result in complexSum complexSum = addComplexNumbers(num1, num2); // Use Ternary Operator to check the sign of the imaginary number signOfImag = (complexSum.imag> 0) ? '+' : '-'; // Use Ternary Operator to adjust the sign of the imaginary number complexSum.imag = (complexSum.imag> 0) ? complexSum.imag : -complexSum.imag; cout << "Sum = " << complexSum.real << signOfImag << complexSum.imag << "i"; return 0; ) complexNumber addComplexNumbers(complex num1, complex num2) ( complex temp; temp.real = num1.real + num2.real; temp.imag = num1.imag + num2.imag; return (temp); ) 

Izhod

 Vnesite realni in namišljeni del: 3.4 5.5 Za 2. kompleksno število vnesite realni oziroma namišljeni del: -4,5 -9,5 Vsota = -1,1-4i

V tem programu sta dve zapleteni številki, ki ju vnese uporabnik, shranjeni v strukturah num1 in num2.

Ti dve strukturi se preneseta v addComplexNumbers()funkcijo, ki izračuna vsoto in vrne rezultat main()funkciji.

Ta rezultat je shranjen v strukturi complexSum.

Nato se določi znak namišljenega dela vsote in shrani v charspremenljivko signOfImag.

 // Use Ternary Operator to check the sign of the imaginary number signOfImag = (complexSum.imag> 0) ? '+' : '-'; 

Če je namišljeni del kompleksaSum pozitiven, se vrednosti dodeli znakOfImag '+'. V nasprotnem primeru mu je dodeljena vrednost '-'.

Nato prilagodimo vrednost complexSum.imag.

 /// Use Ternary Operator to adjust the sign of the imaginary number complexSum.imag = (complexSum.imag> 0) ? complexSum.imag : -complexSum.imag; 

Ta koda spremeni kompleksSum.imag v pozitivno, če se ugotovi, da ima negativno vrednost.

To je zato, ker če je negativno, nam bo tiskanje skupaj z signOfImag dalo dva negativna znaka na izhodu.

Torej vrednost spremenimo na pozitivno, da se izognemo ponavljanju znakov.

Po tem končno prikažemo vsoto.

Zanimive Članki...