我在使用我的c ++作业时遇到了困难。
我有一张表[] {2,3,4,2,7,4,7,2}
任务是找到最低,最大的数字和出现的次数(我只能在一次迭代中完成)。
到目前为止,我已设法找到最低,最低和最低出现次数。
我无法找出算法来查找最大值出现的次数。
我在考虑排序,但似乎很复杂..
到目前为止这是我的代码(是的,我知道使用命名空间std是错误的)。
mycanvas=document.createElement("canvas");
mycanvas.width = 600;
mycanvas.height = 400;
ctx = mycanvas.getContext("2d");
document.body.appendChild(mycanvas);
document.getElementsByName("mycanvas")[0].style.backgroundColor="#FF0000"; //this produces an "undefined is not an object" error
//mycanvas.style.backgroundColor="#FF0000" //this works
任何帮助:)
答案 0 :(得分:3)
要查找最大数量和出现次数,您可以迭代[]并每次执行两项操作。
检查a [i]> maximumNumber,如果是updatemaxNumber = a [i]并设置timesBig = 0
检查[i] == maximumNumber,如果是timesBig ++;
for (int i = 0; i < size; i++) {
if (a[i] > biggestNumber) {
biggestNumber = a[i];
timesBig = 0;
}
if (a[i] == biggestNumber) {
timesBig++;
}
}
您也可以对最小的数字使用相同的逻辑。