因此,我正在嘗試製作一個基本程序來學習C++的基礎知識,我從0到100生成100個隨機數並將它們存儲在一個向量中,然後顯示矢量的總和,平均值,中值,模式,高和低。除了模式是我卡住的地方之外,我還完成了其他一切。這是我迄今爲止的代碼。在C++中查找Ints向量的模式
int modeFunction()
{
numMode = 0;
count = 0;
for (int n = 0; n < 100; n++)
{
for (int y = 0; y < 100; y++)
{
if (numVector.at(y) == numVector.at(n))
{
numMode = numVector.at(y);
count++;
}
}
}
return numMode;
}
之後,我陷入了困境,因爲在我的腦海裏,應該工作,但事實並非如此。它只是把最後一個數字,通常是100.任何幫助將不勝感激。
東西,如果'myVector'是一個'的std ::矢量'(好像它ATLEAST),你可以索引它像一個數組:'myVector [Y]'和'myVector [n]的'將產量與'myVector.at'版本相同,但看起來更好。 :) –
Xeo
2011-03-25 22:35:10
@Xeo:不同之處在於,當at指數超出範圍時,已定義了行爲。可以說'operator []'是一個微型優化,儘管如你所說這也是一種風格差異。 – 2011-03-25 22:50:09
@Steve:啊,謝謝你那個珍聞。:)在'at'處沒有打擾,但是一個普通的數組在超出範圍的訪問中也有未定義的行爲,儘管當你需要它時定義行爲是非常好的。 :) – Xeo 2011-03-25 22:57:02