কম্পিউটার টিউটোরিয়াল

C++-এ ভোট ক্যান্ডিডেট নাম হিসেবে থাকলে নির্বাচন বিজয়ী বের করা

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

ইনপুট

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

আউটপুট

A

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

সমস্যাটি সমাধানের ধাপগুলো:

  • স্ট্রিং অ্যারে ডামি ডেটা দিয়ে ইনিশিয়ালাইজ করুন।
  • string key এবং int value দিয়ে একটি map ইনিশিয়ালাইজ করুন।
  • ভোট অ্যারেতে ইটারেট করুন এবং প্রতিটি মেম্বারের ভোট গণনা করুন। ভোট কাউন্ট স্টোর করতে map ব্যবহার করুন।
  • ভোট কাউন্ট পেয়ে গেলে, ম্যাপে ইটারেট করুন এবং সর্বোচ্চ ভোট পাওয়া key বের করুন।
  • যদি দুজন একই ভোট পায়, তবে তাদের নাম চেক করুন।
  • বিজয়ী প্রিন্ট করুন।

উদাহরণ

কোডটি দেখি।

#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. C++ প্রোগ্রাম: মিডিয়ানের কাছে k সংখ্যা খুঁজে বের করা (S হল n সংখ্যার সেট)

  3. C++ প্রোগ্রাম: দুটি আলাদা অ্যারেতে সংরক্ষিত এলিমেন্টের মেডিয়ান বের করা

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