Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

उस चुनाव के विजेता का पता लगाएं जहां वोटों को C++ में उम्मीदवार के नाम के रूप में दर्शाया जाता है

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो चुनाव विजेता को ढूंढता है। हमारे पास चुनाव में प्रत्येक उम्मीदवार को मिले वोटों की एक श्रृंखला होगी। आइए एक उदाहरण देखें।

इनपुट

{"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

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ प्रोग्राम, S की माध्यिका के निकटतम k संख्याएँ ज्ञात करने के लिए, जहाँ S, n संख्याओं का समुच्चय है

    यह एक C++ प्रोग्राम है जो K संख्याओं को S की माध्यिका के सबसे निकट पाता है, जहाँ S, n संख्याओं का एक समूह है। एल्गोरिदम Begin    function partition() for partitioning the array on the basis of values at high as pivot value:    Arguments:       a[]=an array.  

  1. तत्वों के माध्यिका को खोजने के लिए C++ प्रोग्राम जहां तत्वों को 2 अलग-अलग सरणियों में संग्रहीत किया जाता है

    हम तत्वों के माध्यिका को खोजने के लिए एक C++ प्रोग्राम पर विचार करेंगे जहां तत्वों को 2 अलग-अलग सरणियों में संग्रहीत किया जाता है। एल्गोरिदम Begin    Function Median() has Two arrays a1[], a2[] and n = numbers of elements of the array as arguments:    Initialize i and j by 0, and

  1. मुझे वर्तमान C या C++ मानक दस्तावेज़ कहाँ मिल सकते हैं?

    आप वर्तमान C मानक दस्तावेज़ ANSI वेब स्टोर पर पा सकते हैं। https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012 आप खरीदने के लिए ISO C++ वेबसाइट पर वर्तमान C++ मानक दस्तावेज़ पा सकते हैं - https://www.iso.org/standard/68564.html आईएसओ सी++ मानक का वर्किंग ड्राफ्ट https://i