@flafy4

Как узнать находится ли число, рядом с другим определенным числом в матрице?

Есть матрица 16x16. Полностью заполнена нулями. Далее я в центр матрицы, добавляю единицу. После этого генерирую рандомный индекс матрицы. И как узнать, находится ли этот индекс рядом с 1 в плотную?

Например:
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0


Далее нужно узнать находится ли этот рандомный индекс рядом с единицей, если да, поставить на место рандомного индекса 1:
0 0 0 0 0
0 0 0 0 0
0 0 1 1 0
0 0 0 0 0
0 0 0 0 0
  • Вопрос задан
  • 259 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
1. У матрицы 16x16 центр находится между ячейками, туда невозможно записать число.
2. Определитесь, что значит "рядом". Если это только четыре соседних клетки, то значит |i1-i2|+|j1-j2| = 1, если допустимы диагонали, то |i1-i2|+|j1-j2| > 0 && |i1-i2| <= 1 && |j1-j2| <= 1
Ответ написан
Комментировать
@Nwton
x - столбец
y - строка

Вы ставите 1 не в сферическом центре, а в ячейке с индексом 3; 3
Далее генерируете рандомный индекс, например, 4; 3
Если вы знаете оба индекса, в чем сложность просто их сравнить?

Навскидку, если |x2 - x1| < 2 и |y2 - y1| < 2, то индекс установлен вплотную.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы