-
ループとカウンターを使用する方法: 以下のコード例は、ループを使用して配列内の要素の頻度を検出する方法です。要素ごとにカウンターを使用し、頻度をカウントします。
#include <iostream> #include <unordered_map> int main() { int arr[] = {1, 2, 3, 4, 1, 2, 1}; int size = sizeof(arr) / sizeof(arr[0]); std::unordered_map<int, int> frequencyMap; for (int i = 0; i < size; i++) { frequencyMap[arr[i]]++; } for (const auto& pair : frequencyMap) { std::cout << "Element " << pair.first << " appears " << pair.second << " times." << std::endl; } return 0; }
上記のコードは、
unordered_map
を使用して要素とその頻度を格納します。ループを使用して配列を走査し、各要素のカウンターを増やしていきます。最後に、unordered_map
を走査して要素と頻度を表示します。 -
std::count
を使用する方法: C++の標準ライブラリには、std::count
という関数があります。この関数は、指定した値と一致する要素の数を数えることができます。#include <iostream> #include <algorithm> int main() { int arr[] = {1, 2, 3, 4, 1, 2, 1}; int size = sizeof(arr) / sizeof(arr[0]); for (int i = 0; i < size; i++) { int frequency = std::count(arr, arr + size, arr[i]); std::cout << "Element " << arr[i] << " appears " << frequency << " times." << std::endl; } return 0; }
上記のコードでは、
std::count
関数を使用して配列内の要素の頻度を数えています。std::count
関数は、指定した要素と一致する要素の数を返します。
これらはいくつかの一般的な方法であり、配列内の要素の頻度を検出するためのコード例です。他にもさまざまな方法がありますが、ここでは代表的なものを紹介しました。