-1
我想寫一類集羣,其中有雙打的矢量的矢量的程序。當試圖找到質心(平均點)時,我得到一個錯誤。多維向量下標越界
的想法是獲得所述第一座標的值,則第二,第三等中的每一個陣列中的座標,取它們的平均值,並且將它們推入重心對象然後返回它。
的代碼以找到重心低於
vector<double> Cluster::getCentroid()
{
double temp;
for(int i=0; i<cluster[i].size();i++)
{
temp=0;
for(int j=0;j<cluster.size();j++)
{
temp+=cluster[j][i];
}
centroid.push_back(temp/cluster.size());
}
return centroid;
}
其中質心是一個矢量時,羣集類的私有成員。
我得到的錯誤是:
「的表達:下標越界」
我將不勝感激任何反饋,或者什麼可導致此問題的任何建議。
其中重心聲明? –
在該線爲'(INT I = 0; I <簇[I] .size();我++)'您正在訪問與索引'i'簇,而不檢查它的大小。 –