投票がC++で候補者名として表される選挙の勝者を探す
このチュートリアルでは、選挙の勝者を見つけるプログラムを作成します。各候補者が選挙で得た一連の投票があります。例を見てみましょう。
入力
{"A", "B", "C", "B", "A", "C", "D", "D", "A", "B", "D", "B", "A", "C", "D"}
出力
A
ここで、 A およびB 同じ票数を得ました。その場合、名前のアルファベット順に勝者を選択する必要があります。
問題を解決するための手順を見てみましょう。
-
ダミーデータを使用して文字列の配列を初期化します。
-
文字列をキーとしてマップを初期化します およびintを値として 。
-
投票配列を繰り返し処理し、各メンバーの投票をカウントします。マップを使用して投票数を保存します。
-
私たちは投票数を数えています。選挙の勝者を見つけるには、マップを繰り返し処理して、最大投票数のキーを見つけます。
-
2人のメンバーが同じ票を獲得した場合は、名前を確認してください。
-
勝者を印刷します。
例
コードを見てみましょう。
#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
結論
チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。
-
要素が2つの異なる配列に格納されている要素の中央値を見つけるためのC++プログラム
要素が2つの異なる配列に格納されている要素の中央値を見つけるために、C++プログラムを検討します。 アルゴリズム Begin Function Median()には、2つの配列a1 []、a2 []、およびn =引数としての配列の要素の数があります。範囲0〜 n、i =nの場合は実行し、n1:=n2 n2:=a2[0]はループを中断します。そうでない場合はj=nの場合、n1:=n2 n2:=a1[0]はa1[i] サンプルコード #include #include usingnamespace std; int Median(int a1 []、int a2 []、int n){int
-
現在のCまたはC++標準ドキュメントはどこにありますか?
現在のC標準ドキュメントはANSIWebストアで見つけることができます。 https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012 現在のC++標準ドキュメントは、ISO C ++Webサイトで購入できます-https://www.iso.org/standard/68564.html ISO C ++標準の作業ドラフトは、https://isocpp.org/std/the-standardでも入手できます。