Как заменить элементы двумерного массива по их индексам (vector)?

В С++ пару дней(пришел с джавы), столкнулся с проблемой:
Есть двумерный массив matrix, в котором указанные элементы нужно заменить по заданному алгоритму. Пытался сделать, что первое в голову пришло - на выходе метод возвращает matrix без изменений. Что я делаю не так?
vector<vector<int> > waveRun (vector<vector<int> > matrix, int numberOfWave){
        for(int i = 0; i < matrix.size(); i++){
            for (int j = 0; j < matrix[i].size(); j++) {
                if(matrix[i][j] == numberOfWave){
                    if(matrix[i-1][j] == 0) matrix[i-1][j] = numberOfWave+1;
                    if(matrix[i+1][j] == 0) matrix[i+1][j] = numberOfWave+1;
                    if(matrix[i][j-1] == 0) matrix[i][j-1] = numberOfWave+1;
                    if(matrix[i][j+1] == 0) matrix[i][j+1] = numberOfWave+1;
                }

            }
        }

    return matrix;
}
  • Вопрос задан
  • 1407 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы