数字在矩阵C中扩展

所以我正在做这作为大学练习。我有这个矩阵:

 -1  0  0  0 -1 -1 -1 -1 -1 -1
  0  0  0  0  0  1  1  1  1  1
 -1 -1  0  0  0  0 -1 -1 -1 -1
 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 -1 -1 -1 -1 -1 -1 -1  0  0 -1
 -1 -1 -1 -1 -1 -1 -1  0 -1 -1

我需要得到这个矩阵:

1 0 0 0 1 2 3 4 4 5
0 0 0 0 0 1 2 3 3 4
1 1 0 0 0 0 1 2 2 3
2 2 1 1 1 1 2 1 1 2
3 3 2 2 2 2 1 0 0 1
4 4 3 3 3 2 1 0 1 2

就像零点一次在每个方向上仅扩展1步一样,需要花费多长时间展开(上下左右,而不是对角线)。

我还应该补充一点,初始矩阵可以是任意数量的行和列,并且数字0和-1的位置是随机的,这与我目前正在分析的数据相对应。

遵循此特定示例的基本代码。

int main()
{
    int abc[6][10]
    for (int i = 0; i < 6; ++i)
    {
        for (int i = 0; i < count; ++i)
        {
            abc[i][j] = -1;
        }
    }
    abc[0][1] = 0;
    abc[0][2] = 0;
    abc[0][3] = 0;
    abc[1][0] = 0;
    abc[1][1] = 0;
    abc[1][2] = 0;
    abc[1][3] = 0;
    abc[1][4] = 0;
    abc[2][2] = 0;
    abc[2][3] = 0;
    abc[2][4] = 0;
    abc[2][5] = 0;
    abc[4][7] = 0;
    abc[4][8] = 0;
    abc[5][7] = 0;

    //Code missing plz help

    for (int i = 0; i < 6; ++i)
    {
        for (int j = 0; j < 10; ++j)
        {
          printf("%d", abc[i][j]);
        }
    printf("\n");
    }
}

提前致谢。

评论