Program C ++ na pridanie zložitých čísel odovzdaním štruktúry funkcii

Tento program berie ako štruktúry dve komplexné čísla a pridáva ich pomocou funkcií.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich programovacích tém C ++:

  • Štruktúry C ++
  • Štruktúra a funkcia C ++

Príklad: Zdrojový kód na pridanie dvoch komplexných čísel

 // 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); ) 

Výkon

 Zadajte reálnu a imaginárnu časť: 3,4 5,5 Pre druhé komplexné číslo zadajte skutočnú a imaginárnu časť: -4,5 -9,5 Súčet = -1,1-4i

V tomto programe sú dve komplexné čísla zadané používateľom uložené v štruktúrach num1 a num2.

Tieto dve štruktúry sa odovzdajú addComplexNumbers()funkcii, ktorá vypočíta súčet a vráti výsledok main()funkcii.

Tento výsledok je uložený v štruktúre complexSum.

Potom sa určí znamienko imaginárnej časti súčtu a uloží sa do charpremennej signOfImag.

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

Ak je imaginárna časť komplexného súčtu kladná, potom sa hodnote priradí signOfImag '+'. Inak sa mu priradí hodnota '-'.

Potom upravíme hodnotu complexSum.imag.

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

Tento kód zmení complexSum.imag na pozitívny, ak sa zistí, že má negatívnu hodnotu.

Je to preto, že ak je negatívny, jeho vytlačenie spolu s signOfImag nám dá na výstupe dva negatívne znaky.

Takže zmeníme hodnotu na pozitívnu, aby sme sa vyhli opakovaniu znamienok.

Potom konečne zobrazíme súčet.

Zaujímavé články...