Нужна помощь с двумерными массивами C++

200
28 ноября 2017, 22:53

Нужно организовать проверку элементов двумерного массива по диагонали с рандомных координат, по аналогии с ходом коня в шахматах. Вот часть кода для одного слона. У меня он проверяет каждый столбец, нет идей как организовать проверку по диагонали.

for (int i = x[0]; i < n && i >= 0; i--) {
        for (int j = y[0]; j < n && j >= 0; j--) {
            if (a[i][j] == 9) {
                cout << "One black elephant is on the way" << endl;
            }
        }
    }
    for (int i = x[0]; i < n && i >= 0; i++) {
        for (int j = y[0]; j < n && j >= 0; j++) {
            if (a[i][j] == 9) {
                cout << "One black elephant is on the way" << endl;
            }
        }
    }
    for (int i = x[0]; i < n && i >= 0; i++) {
        for (int j = y[0]; j < n && j >= 0; j--) {
            if (a[i][j] == 9) {
                cout << "One black elephant is on the way" << endl;
            }
        }
    }
    for (int i = x[0]; i < n && i >= 0; i--) {
        for (int j = y[0]; j < n && j >= 0; j++) {
            if (a[i][j] == 9) {
                cout << "One black elephant is on the way" << endl;
            }
        }
    }
Answer 1

Можно так:

//x - введенная координата
//y - введенная координата
//n - конец матрицы
for(int i = x; i < n;i++){ //если ввести i-- пойдет в обратную сторону
       y-- //аналогично, выбираем сторону
}
if(...){
.......
}
if(y == 0){ //в случае, если идет в конец матрицы, проверяем на конец матрицы по Yку
break;
}
READ ALSO
Ошибка &ldquo;You need to find .cpp to view the source for the current call stack frame&rdquo; при отладке

Ошибка “You need to find .cpp to view the source for the current call stack frame” при отладке

You need to find appmodulcpp to view the source for the current call stack frame

199
сравнение SIFT дескрипторов особых точек (OpenCV 3)

сравнение SIFT дескрипторов особых точек (OpenCV 3)

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

211