এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা নির্বাচনে বিজয়ীকে খুঁজে বের করে। আমাদের প্রতিটি প্রার্থী নির্বাচনে যে ভোট পেয়েছে তার একটি বিন্যাস থাকবে। আসুন একটি উদাহরণ দেখি।
ইনপুট
{"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
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।