Программа на C ++ для сложения комплексных чисел путем передачи структуры функции

Эта программа принимает два комплексных числа как структуры и складывает их с помощью функций.

Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:

  • Структуры C ++
  • Структура и функции C ++

Пример: исходный код для сложения двух комплексных чисел

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

Вывод

 Введите действительную и мнимую части соответственно: 3,4 5,5 Для 2-го комплексного числа введите действительную и мнимую части соответственно: -4,5 -9,5 Сумма = -1,1-4i

В этой программе два комплексных числа, введенные пользователем, хранятся в структурах num1 и num2.

Эти две структуры передаются addComplexNumbers()функции, которая вычисляет сумму и возвращает результат main()функции.

Этот результат сохраняется в структуре complexSum.

Затем определяется знак мнимой части суммы и сохраняется в charпеременной signOfImag.

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

Если мнимая часть complexSum положительна, то signOfImag присваивается значение '+'. В противном случае ему присваивается значение '-'.

Затем мы настраиваем значение complexSum.imag.

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

Этот код изменяет complexSum.imag на положительный, если обнаруживается отрицательное значение.

Это потому, что если он отрицательный, то его печать вместе с signOfImag даст нам два отрицательных знака на выходе.

Итак, мы меняем значение на положительное, чтобы избежать повторения знака.

После этого мы окончательно выводим сумму.

Интересные статьи...