Program C ++ pro přidání komplexních čísel předáním struktury funkci

Tento program bere dvě komplexní čísla jako struktury a přidává je pomocí funkcí.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata C ++:

  • Struktury v C ++
  • Struktura a funkce C ++

Příklad: Zdrojový kód pro přidání dvou 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ýstup

 Zadejte skutečnou a imaginární část: 3,4 5,5 Pro druhé komplexní číslo zadejte skutečnou a imaginární část: -4,5 -9,5 Součet = -1,1-4i

V tomto programu jsou dvě komplexní čísla zadaná uživatelem uložena ve strukturách num1 a num2.

Tyto dvě struktury jsou předány addComplexNumbers()funkci, která vypočítá součet a vrátí výsledek main()funkci.

Tento výsledek je uložen ve struktuře complexSum.

Poté se určí znaménko imaginární části součtu a uloží se do charproměnné signOfImag.

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

Pokud je imaginární část komplexního součtu pozitivní, pak je hodnotě přiřazena signOfImag '+'. Jinak je mu přiřazena hodnota '-'.

Poté 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 změní complexSum.imag na pozitivní, pokud se zjistí, že má zápornou hodnotu.

Je to proto, že pokud je záporný, pak jeho tisk spolu s signOfImag nám dá na výstupu dva záporné znaky.

Změníme tedy hodnotu na pozitivní, abychom se vyhnuli opakování znaménka.

Poté konečně zobrazíme součet.

Zajímavé články...