gpt4 book ai didi

c++ - 查找数组中的出现

转载 作者:搜寻专家 更新时间:2023-10-31 02:24:15 25 4
gpt4 key购买 nike

我必须找到数组中每个元素的出现。到目前为止我的代码是这样的

void Occurrences()
{
int numers[10], count = 0, i;
for (i = 0; i < 10; i++)
{
cout << "Enter Number";
cin >> numers[i];
}
for (i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (numers[i] == numers[j])
{
count++;
}
}
cout << numers[i] << " is Occur " << count << " Time in Array" << endl;
count = 0;
}
}
int main()
{
Occurrences();
}

输出将乘以相同的数字,即如果我输入六个 1 和 4 个 2。输出是

1 is occur 6 time in array.
1 is occur 6 time in array.
1 is occur 6 time in array.
1 is occur 6 time in array.
1 is occur 6 time in array.
1 is occur 6 time in array.
2 is occur 4 time in array.
2 is occur 4 time in array.
2 is occur 4 time in array.
2 is occur 4 time in array.

但我想要这样的输出:

1 is occur 6 time in array.
2 is occur 4 time in array.

我该怎么做?

最佳答案

既然你标记了这个 C++11,我会使用 std::unordered_map :

void Occurrences()
{
std::unordered_map<int, int> occurrences;

// enter 10 numbers
for (int i = 0; i < 10; ++i) {
cout << "Enter Number";
int x;
cin >> x;
++occurrences[x]; // increment the count for x
}

// print results
for (const auto& pr : occurrences) {
std::cout << pr.first << " appears " << pr.second << " times." << std::endl;
}
}

关于c++ - 查找数组中的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com