投票が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でも入手できます。