我正在爲編程類寫第一個'大'作業。程序應該通過一個包含座標的矢量並找到三角形的最大可能邊界。我已經差不多完成了,並且在遇到問題時已經開始慶祝了。處理整個事情的函數會使包含點索引的整數無效。這裏是有問題的功能:函數無效的參數無效
double Process (vector<vector<int>> &vec,int PointMaxi,int PointMaxj, int PointMaxk)
{
double MaxP;
int i=0,j=0,k=0;
PointMaxi=0;PointMaxj=1;PointMaxk=2;
MaxP=Perimeter(0,1,2,vec);
int size=vec.size();
while(i<size)
{
while (j<size)
{
while (k<size)
{
if(((i!=j)&&(j!=k))&&Perimeter(i,j,k,vec)>=MaxP)
{
MaxP=Perimeter(i,j,k,vec);
PointMaxi=i;
PointMaxj=j;
PointMaxk=k;
}
k++;
}
k=0;
j++;
}
j=0;
i++;
}
return MaxP;
}
所以,當函數退出PointMaxi,PointMaxj和PointMaxk(偉大的命名,我知道)全部變成零,我可以最大周長的不輸出點。 我一直在盯着它幾個小時,搜索甚至更多,我仍然無法找出問題。有人請幫忙。
請格式化您的代碼。 – asm
通過它們作爲參考 – qwr
作爲qwr寫道:原型應該是:'雙過程(向量>&vec,int&PointMaxi,int&PointMaxj,int&PointMaxk)''不像你所做的那樣。 –
SHR