কম্পিউটার

পর্যালোচনা ভোটের স্থিতি এবং অনিশ্চয়তা পরীক্ষা করতে C++ কোড


ধরুন আমাদের তিনটি সংখ্যা x, y এবং z আছে। একটি পর্যালোচনা সাইটে সেখানে x ব্যক্তি ছিল যারা আপভোট করবে, y ব্যক্তি যারা ডাউনভোট করবে এবং z ব্যক্তিদের আরেকটি গ্রুপ যারা ভোট দেবে, কিন্তু আমরা জানি না তারা আপভোট করবে নাকি ডাউনভোট করবে। প্রত্যেক ব্যক্তি সর্বোচ্চ একবারে ভোট দিতে পারে। যদি ডাউনভোটের চেয়ে আপভোট বেশি হয়, ফলাফল হবে "+"; যদি ডাউনভোট সংখ্যা বেশি হয়, ফলাফল হবে "-"; অন্যথায় ফলাফল "0" হবে। z অজানা ব্যক্তিদের কারণে, ফলাফল অনিশ্চিত হতে পারে (অর্থাৎ একাধিক সম্ভাব্য ফলাফল আছে)। ফলাফল অনিশ্চিত ('?' হিসাবে উপস্থাপিত) যদি এবং শুধুমাত্র যদি zpersons ভোট দেওয়ার দুটি ভিন্ন পরিস্থিতি বিদ্যমান থাকে। আমাদের ফলাফল খুঁজে বের করতে হবে বা রিপোর্ট করতে হবে এটা অনিশ্চিত কিনা।

সুতরাং, ইনপুট যদি x =2 এর মত হয়; y =0; z =2, তাহলে আউটপুট হবে '?' কারণ 2টি আপভোট আছে, যদি অন্য দুটি ভোট কম হয় তবে সেটি হবে 0, কিন্তু বেশি হলে সেটি হবে '+' তাই উত্তরটি অনিশ্চিত৷

পদক্ষেপ

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

if x > y + z, then:
   return "+"
otherwise when x + z < y, then:
   return "-"
otherwise when not z is non-zero, then:
   return "0"
Otherwise
   return "?"

উদাহরণ

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

#include <bits/stdc++.h>
using namespace std;
string solve(int x, int y, int z){
   if (x > y + z)
      return "+";
   else if (x + z < y)
      return "-";
   else if (!z)
      return "0";
   else
      return "?";
}
int main(){
   int x = 2;
   int y = 0;
   int z = 2;
   cout << solve(x, y, z) << endl;
}

ইনপুট

2, 0, 2

আউটপুট

?

  1. C++ এ a, b এবং c থেকে সমস্ত শূন্য অপসারণ করার পরে a + b =c বৈধ কিনা তা পরীক্ষা করুন

  2. একটি সংখ্যার C++ এ একই সংখ্যক সেট এবং আনসেট বিট আছে কিনা তা পরীক্ষা করুন

  3. একটি বড় সংখ্যা 2, 3 এবং 5 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  4. C++ এ তির্যক ম্যাট্রিক্স এবং স্কেলার ম্যাট্রিক্স পরীক্ষা করার জন্য প্রোগ্রাম