我有一个问题,我不明白如何将2d数组中的所有数字四舍五入,除了两个主要对角线。现在我有工作代码可以将所有其他元素四舍五入到所有这两个对角线上。但是我需要将所有其他元素四舍五入,而不是对角线。它是一个正方形数组。

`void diog(int a) {
float dio1, dio2;
for (int i = 0; i < a; i++) {
for (int j = 0; j < a; j++){
    dio1=masivs[i][i];
    dio1 = round (masivs[i][i]);
    masivs[i][i] = dio1;
    dio2= masivs[i][a - i - 1];
    dio2= round (masivs[i][a - i - 1]);
    masivs[i][a - i - 1] = dio2;
    cout << masivs[i][j] << " ";
}
}
}`

最佳答案

void diog(int a)
{
    float dio1;
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < a; j++)
        {
            if ((i!=j) && (i!=a-1-j))
            {
                dio1 = round (masivs[i][j]);
                masivs[i][j] = dio1;
            }
            cout << masivs[i][j] << " ";
        }
    }
}

10-07 20:27