Programma C ++ per aggiungere numeri complessi passando la struttura a una funzione

Questo programma prende due numeri complessi come strutture e li aggiunge con l'uso di funzioni.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:

  • Strutture C ++
  • Struttura e funzione C ++

Esempio: codice sorgente per aggiungere due numeri complessi

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

Produzione

 Immettere rispettivamente le parti reali e immaginarie: 3,4 5,5 Per il 2 ° numero complesso, immettere rispettivamente le parti reali e immaginarie: -4,5 -9,5 Somma = -1,1-4i

In questo programma, due numeri complessi inseriti dall'utente sono memorizzati nelle strutture num1 e num2.

Queste due strutture vengono passate alla addComplexNumbers()funzione che calcola la somma e restituisce il risultato alla main()funzione.

Questo risultato viene memorizzato nella struttura complexSum.

Quindi, il segno della parte immaginaria della somma viene determinato e memorizzato nella charvariabile signOfImag.

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

Se la parte immaginaria di complexSum è positiva, a signOfImag viene assegnato il valore '+'. Altrimenti, viene assegnato il valore '-'.

Quindi regoliamo il valore di complexSum.imag.

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

Questo codice cambia complexSum.imag in positivo se viene rilevato un valore negativo.

Questo perché se è negativo, stamparlo insieme a signOfImag ci darà due segni negativi nell'output.

Quindi, cambiamo il valore in positivo per evitare la ripetizione del segno.

Dopo questo, visualizziamo finalmente la somma.

Articoli interessanti...