কম্পিউটার

একটি নির্বাচনে বিজয়ী খুঁজুন যেখানে ভোটগুলি প্রার্থীর নাম হিসাবে C++ এ প্রতিনিধিত্ব করা হয়


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা নির্বাচনে বিজয়ীকে খুঁজে বের করে। আমাদের প্রতিটি প্রার্থী নির্বাচনে যে ভোট পেয়েছে তার একটি বিন্যাস থাকবে। আসুন একটি উদাহরণ দেখি।

ইনপুট

{"A", "B", "C", "B", "A", "C", "D", "D", "A", "B", "D", "B", "A", "C", "D"}

আউটপুট

A

এখানে, A এবং B একই সংখ্যক ভোট পেয়েছেন। সেক্ষেত্রে, আমাদের তাদের নামের বর্ণানুক্রমিক ক্রম অনুসারে বিজয়ী নির্বাচন করতে হবে।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • ডামি ডেটা সহ স্ট্রিংয়ের একটি অ্যারে শুরু করুন৷

  • কী হিসাবে স্ট্রিং সহ একটি মানচিত্র শুরু করুন এবং মান হিসাবে int .

  • ভোট অ্যারের উপর পুনরাবৃত্তি করুন এবং প্রতিটি সদস্যের ভোট গণনা করুন। ভোট গণনা সংরক্ষণ করতে মানচিত্র ব্যবহার করুন৷

  • আমাদের সাথে ভোট গণনা আছে। নির্বাচনে বিজয়ী খুঁজে পেতে, মানচিত্রের উপর পুনরাবৃত্তি করুন এবং সর্বাধিক ভোট দিয়ে কীটি খুঁজুন।

  • যদি দুজন সদস্য একই ভোট পেয়ে থাকেন, তাহলে তাদের নাম চেক করুন।

  • বিজয়ী প্রিন্ট করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include "bits/stdc++.h"
using namespace std;
void findElectionWinner(string votes[], int total_votes) {
   map<string, int> candidate_votes_count;
   // counting each person votes
   for (int i = 0; i < total_votes; i++) {
      candidate_votes_count[votes[i]]++;
   }
   // finding winner
   int max_votes = 0;
   string election_winner;
   for (auto& entry : candidate_votes_count) {
      string key = entry.first;
      int val = entry.second;
      // checking the votes with max votes
      if (val > max_votes) {
         // updating max votes and member
         max_votes = val;
         election_winner = key;
         // comparing the name if the votes are equal
      }
      else if (val == max_votes && election_winner > key) {
         election_winner = key;
      }
   }
   cout << election_winner << endl;
}
int main() {
   string votes[] = {"A", "B", "C", "B", "A", "C", "D", "D", "A", "B", "D", "B", "A"};
   findElectionWinner(votes, 13);
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

A

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. স্ট্রিংয়ের সংখ্যা যেখানে সংলগ্ন অক্ষরগুলি C++-এ একের মধ্যে পার্থক্য রয়েছে

  2. S-এর মধ্যকের সবচেয়ে কাছাকাছি k সংখ্যা খুঁজে বের করার জন্য C++ প্রোগ্রাম, যেখানে S হল n সংখ্যার একটি সেট

  3. C++ এলিমেন্টের মিডিয়ান খুঁজে বের করার জন্য প্রোগ্রাম যেখানে এলিমেন্টগুলি 2টি ভিন্ন অ্যারেতে সংরক্ষণ করা হয়

  4. আমি বর্তমান C বা C++ স্ট্যান্ডার্ড নথি কোথায় পেতে পারি?