Непонимание границ цикла for для матрицы заполнения - PullRequest
0 голосов
/ 04 апреля 2019

Я создал код для заполнения матрицы входного размера нулями. Я использовал два для петель. Код работает, но он работает для меня меньше, чем rowdimension + 1, и я меньше, чем строка Dimension + 2. Я не понимаю почему, хочу понять.

Я пытался изменить границы с =, что неудивительно, это также работает для i <= firstDimension + 1. Не работает для i <= firstDimension + 2, конечно. До сих пор не понимаю, почему это работает за меньшее количество итераций. И наоборот для пространства второго столбца ака пространства. </p>

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];

Ожидается, что не будет работать, если я меньше, чем размер строки плюс один. Ожидается, что он будет работать для меня меньше, чем размер строки плюс два. Работает для обоих.

...