Cコマンドラインプログラムで正常に動作する同等の単純なアクションがありますが、これをiOSアプリの一部として変換しようとすると、問題が何であるかを理解できないという結果が得られます.
以下の単純なアクションは、パラメーター xCoord、totalCoords、および i をすべて取得します。テストしたとおりです。
最後の行では、配列のすべての d 値が正しく出力されますが、e と f の値は間違っています。
配列は 0 から始まるため、i の値を配列の [i-1] に割り当てました。[g-1] や [h-1] などで報告してみましたが、いいえ、まだ間違った回答です。
本質的に、totalCoords=4 の場合、および i=1 ~ 4 の場合、g は 4,1,2,3 であり、h は 2,3,4,1 である必要があります。明らかな何かに違いないが、それは私を打ち負かします。
-(void)updateD: (double)xCoord : (int)totalCoords : (int)i
{
double xCoordArray[totalCoords];
xCoordArray[i-1] = xCoord;
g=i-1;
if(i==1) {
g+=totalCoords;
}
h=i+1;
if(i==totalCoords) {
h=1;
}
d = xCoordArray[i-1];
e = xCoordArray[g];
f = xCoordArray[h];
}