填充矩阵的for循环的边界不变

时间:2019-04-04 20:25:02

标签: for-loop matrix pad

我创建了一个代码,用零填充输入大小的矩阵。我使用了两个for循环。该代码有效,但是它适用于小于行尺寸+1的我和小于行尺寸2的我。我不明白为什么,想了解。

我试图用=更改边界,这并不奇怪,它也适用于i <= firstDimension + 1。当然,不适用于i <= firstDimension + 2。仍然不知道为什么它可以减少迭代次数。反之亦然,secondDimension也称为列空间。

int padarray[][] = new int[firstDimension+2]
[secondDimension+2];//padarray=matrix with 0 around 
        for(int i=0; i<firstDimension+2;i++) {
            for(int j=0; j<secondDimension+1;j++) {
                /*the first column and the first row must be zero, so when either index is zero, the element is 0*/
                if(i==0 || j==0 || j==secondDimension+1 || i==firstDimension+1) {
                    padarray[i][j]= 0;
                }else{
                    padarray[i][j]= MultA[i-1][j-1];

预期不适用于小于行尺寸加1的i。期望它适用于小于行尺寸加2的i。两者都适用。

0 个答案:

没有答案