Yapıyı Bir İşleve Geçirerek Karmaşık Sayılar Eklemek için C ++ Programı

Bu program yapı olarak iki karmaşık sayıyı alır ve bunları fonksiyonların kullanımıyla ekler.

Bu örneği anlamak için, aşağıdaki C ++ programlama konuları hakkında bilgi sahibi olmalısınız:

  • C ++ Yapıları
  • C ++ Yapısı ve İşlevi

Örnek: İki Karmaşık Sayı Eklemek İçin Kaynak Kodu

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

Çıktı

 Sırasıyla gerçek ve sanal kısımları girin: 3.4 5.5 2. karmaşık sayı için, sırasıyla gerçek ve sanal kısımları girin: -4.5 -9.5 Toplam = -1.1-4i

Bu programda, kullanıcı tarafından girilen iki karmaşık sayı num1 ve num2 yapılarında saklanır.

Bu iki yapı addComplexNumbers(), toplamı hesaplayan ve sonucu main()işleve döndüren işleve geçirilir .

Bu sonuç, complexSum yapısında saklanır.

Ardından, toplamın hayali kısmının işareti belirlenir ve charsignOfImag değişkeninde saklanır.

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

ComplexSum öğesinin sanal kısmı pozitifse, signOfImag değerine atanır '+'. Aksi takdirde, değer atanır '-'.

Daha sonra complexSum.imag değerini ayarlıyoruz.

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

Negatif değere sahip olduğu bulunursa, bu kod complexSum.imag öğesini pozitif olarak değiştirir.

Bunun nedeni, eğer negatifse, signOfImag ile birlikte yazdırmak çıktıda bize iki negatif işaret verecektir.

Bu nedenle, işaret tekrarını önlemek için değeri pozitif olarak değiştiriyoruz.

Bundan sonra, nihayet toplamı görüntüleriz.

Ilginç makaleler...