Program w C ++ do dodawania liczb zespolonych poprzez przekazywanie struktury do funkcji

Ten program przyjmuje dwie liczby zespolone jako struktury i dodaje je za pomocą funkcji.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • Struktury C ++
  • Struktura i funkcja języka C ++

Przykład: kod źródłowy dodający dwie liczby zespolone

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

Wynik

 Wprowadź odpowiednio część rzeczywistą i urojoną: 3,4 5,5 Dla 2. liczby zespolonej wprowadź odpowiednio część rzeczywistą i urojoną: -4,5 -9,5 Suma = -1,1-4i

W tym programie dwie liczby zespolone wprowadzone przez użytkownika są przechowywane w strukturach num1 i num2.

Te dwie struktury są przekazywane do addComplexNumbers()funkcji, która oblicza sumę i zwraca wynik do main()funkcji.

Wynik ten jest przechowywany w strukturze complexSum.

Następnie znak części urojonej sumy jest określany i zapisywany w charzmiennej signOfImag.

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

Jeśli część urojonej zmiennej complexSum jest dodatnia, wartość signOfImag jest przypisywana '+'. W przeciwnym razie jest przypisywana wartość '-'.

Następnie dostosowujemy wartość complexSum.imag.

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

Ten kod zmienia wartość complexSum.imag na dodatnią, jeśli okaże się, że ma wartość ujemną.

Dzieje się tak, ponieważ jeśli jest ujemny, to wydrukowanie go wraz ze znakiem signOfImag da nam dwa znaki ujemne na wyjściu.

Dlatego zmieniamy wartość na dodatnią, aby uniknąć powtórzeń znaków.

Następnie w końcu wyświetlamy sumę.

Interesujące artykuły...