【发布时间】:2021-04-21 13:30:13
【问题描述】:
const int NUM_MAX = 100;
const int HOWMANY = 30;
int main()
{
vector<int> myVector;
int counters[NUM_MAX] = { 0 };
//to print out 15 numbers per line
int x = 15;
//seed random number generator
srand(time(0));
cout << "Array of 30 Random Numbers: "<< endl;
for (int i = 0; i < HOWMANY; i++)
{
int myRandom = rand() % NUM_MAX;
myVector.push_back(myRandom);
int thisVal = myVector[i];
cout << thisVal << " ";
if (i % x == 0)
cout << "\n";
}
cout << " " << endl;
return 0;
}
我刚开始学习向量和数组,我的老师为我们设置了counters 数组,但我不知道该怎么做。我必须在 30 个随机生成的数字中找到出现次数最多的数字,并且我必须计算该数字出现了多少次。我很迷茫。
【问题讨论】:
-
你不需要向量。您只需要在第一遍中为每个观察到的数字增加
counters[myRandom]++。然后添加另一个 for 循环,在counter中查找具有最大值的索引。 -
假设您有一个包含 6 个数字的数组,即 1,2,4,5,2,3。您如何“手动”(无需代码)确定数组中出现次数最多的数字?
-
How to remove duplicate char in string in C (忽略标题,了解如何使用 频率数组——这就是你的老师希望你对
counters[]数组做的事情)你std::map 可以做同样的事情,但是如果你只是学习向量,普通的旧频率数组就可以了。
标签: c++