C ++ - program för att lägga till komplexa nummer genom att skicka struktur till en funktion

Detta program tar två komplexa tal som strukturer och lägger till dem med hjälp av funktioner.

För att förstå detta exempel bör du ha kunskap om följande C ++ programmeringsämnen:

  • C ++ strukturer
  • C ++ struktur och funktion

Exempel: Källkod för att lägga till två komplexa nummer

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

Produktion

 Ange verkliga respektive imaginära delar: 3.4 5.5 För andra komplexa tal, Ange riktiga respektive imaginära delar: -4.5 -9.5 Sum = -1.1-4i

I det här programmet lagras två komplexa nummer som anges av användaren i strukturerna num1 och num2.

Dessa två strukturer skickas till addComplexNumbers()funktion som beräknar summan och returnerar resultatet till main()funktionen.

Detta resultat lagras i strukturen complexSum.

Sedan bestäms tecknet på den imaginära delen av summan och lagras i charvariabeln signOfImag.

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

Om den imaginära delen av complexSum är positiv tilldelas signOfImag värdet '+'. Annars tilldelas värdet '-'.

Vi justerar sedan värdet på complexSum.imag.

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

Den här koden ändrar complexSum.imag till positivt om den visar sig vara av negativt värde.

Detta beror på att om det är negativt, kommer utskrift av det tillsammans med signOfImag att ge oss två negativa tecken i utdata.

Så vi ändrar värdet till positivt för att undvika upprepning av tecken.

Efter detta visar vi äntligen summan.

Intressanta artiklar...