не получается ожидаемый результат - цикл массива - PullRequest
1 голос
/ 07 ноября 2011

хорошо, так что это в ActionScript 3, моя проблема здесь:

var numCols:uint = 7;
numRows:uint = 7;

row = 1;
column = 3;

total = row+column-1    
for(i = 0; i < numRows; i++){
    for(j = 0; j < numCols; j++){
        if(j < column){
            array[i][j]=total--
        }else{
            array[i][j]=total++                     
        }
    }
}

Я ожидаю этот результат в массиве:

3,2,1,2,3,4....

Однако я получаю это:

3,2,1,0,1,2,3,4...

1 Ответ

1 голос
/ 07 ноября 2011

Задача

Ваше состояние

if (j < column)

оценивается как true три раза.

1. column = 3, j = 0, total = 3, total becomes 2
2. column = 3, j = 1, total = 2, total becomes 1
3. column = 3, j = 2, total = 1, total becomes 0

в четвертый раз else предложение выполняется, но к этому времени ваш total упал до 0.

4. column = 3, j = 3, total = 0, total becomes 1.

Возможное решение

Я не знаюНе знаю ваш вариант использования, но изменение

array[i][j]=total++   

на

array[i][j]=++total

может быть все, что нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...