-1

長さが異なる 2 つの 2D 配列があり、どちらも double 型です。最初の配列の内容と 2 番目の配列の内容を比較しようとしています。ただし、i と j の両方の値が x と y の両方の値に等しい場合ではなく、最初の要素の値の 1 つが 2 番目の要素の 1 に等しい場合、スコアは増加しています。誰か助けてくれませんか?私が使用しているコードは以下にあります:

    if (result1.Length <= result2.Length)
            {
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < result1.Length / 2; j++)
                    {
                        for (int x = 0; x < 2; x++)
                        {
                            for (int y = 0; y < result2.Length / 2; y++)
                            {
                                if (result1.GetValue(i, j).Equals(result2.GetValue(x, y)))
                                {
                                    score++;

                                }
                            }
                        }
                    }
                }
4

2 に答える 2

1

以下のコメントに基づいて更新されましたが、最初の列の同等性と2番目の列の同等性を同時に確認し、両方が一致する場合にのみスコアを増やす必要があると思います。

if (result1.Length <= result2.Length)
{
    for(int i = 0; i < result1.Length; i++)
    {
        for(int j = 0; j < result2.Length; j++)
        {
            if (result1[i,0] == result2[j,0] && result1[i,1] == result2[j,1])
            {
                score++;
            }
        }
    }
}
于 2013-04-28T15:47:36.287 に答える
0

代わりに試してください:

if(result1[i,j] == result2[i,j])
score++;
于 2013-04-28T15:19:38.597 に答える