কম্পিউটার

C++-এ জটিল সংখ্যা গুণ


ধরুন আমাদের কাছে দুটি স্ট্রিং আছে যা জটিল সংখ্যার প্রতিনিধিত্ব করছে, আমাদের সেগুলিকে পার্স করতে হবে এবং জটিল সংখ্যার গুণন সম্পাদন করতে হবে, তারপর একটি স্ট্রিং হিসাবে ফলাফল প্রদান করতে হবে।

তাই ইনপুট যদি হয় “1+-1i” এবং “1+-1i”, তাহলে ফলাফল হবে “0+-2i”।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • aa :=প্রথম জটিল সংখ্যার বাস্তব এবং কাল্পনিক জোড়া
  • bb :=দ্বিতীয় জটিল সংখ্যার বাস্তব এবং কাল্পনিক জোড়া
  • x :=aa.real * bb.real – aa.img*bb.img
  • y :=aa.real * bb.img + aa.img*bb.real
  • স্ট্রিংটিকে “x+yi” হিসাবে ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   string complexNumberMultiply(string a, string b) {
      pair <int, int> aa = parse(a);
      pair <int, int> bb = parse(b);
      int x = aa.first * bb.first - aa.second * bb.second;
      int y = aa.first * bb.second + aa.second * bb.first;
      return to_string(x) + "+" + to_string(y) + "i";
   }
   pair <int, int> parse(string s){
      pair <int, int> ret;
      int plus = find(s.begin(), s.end(), '+') - s.begin();
      int i = find(s.begin(), s.end(), 'i') - s.begin();
      ret.first = stoi(s.substr(0, plus));
      ret.second = stoi(s.substr(plus + 1, i - plus));
      return ret;
   }
};
main(){
   Solution ob;
   cout << (ob.complexNumberMultiply("1+-1i", "1+-1i"));
}

ইনপুট

"1+-1i"
"1+-1i"

আউটপুট

0+-2i

  1. C++ এ পাটিগণিত সংখ্যা

  2. C++ এ আর্গুমেন্টের পরিবর্তনশীল সংখ্যা

  3. C++ প্রোগ্রাম জটিল সংখ্যা গুণন সম্পাদন করতে

  4. C++ এ CHAR_BIT