इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो चुनाव विजेता को ढूंढता है। हमारे पास चुनाव में प्रत्येक उम्मीदवार को मिले वोटों की एक श्रृंखला होगी। आइए एक उदाहरण देखें।
इनपुट
{"A", "B", "C", "B", "A", "C", "D", "D", "A", "B", "D", "B", "A", "C", "D"} आउटपुट
A
यहां, ए और बी इतने ही वोट मिले। उस स्थिति में, हमें उनके नामों के वर्णानुक्रम के आधार पर विजेता का चयन करना होगा।
आइए समस्या को हल करने के लिए चरणों को देखें।
-
डमी डेटा के साथ स्ट्रिंग की एक सरणी प्रारंभ करें।
-
स्ट्रिंग वाले मानचित्र को कुंजी . के रूप में प्रारंभ करें और 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।