0

Доброго времени суток вам! Помогите создать программу в С++ без использования массивов.

Поле шахматной доски определяется парой натур. чисел, первое число - номер вертикали, второе - горизонтали. Даны натуральные числа K,L,M,N, каждое из которых не превосходит 8. На поле с координатами (K;L) расположен ферзь. угрожает ли он полю с координатами (M;N)? p.s. повторюсь, что необходима программа без использования массивов.

3rd Nov 2017, 12:38 AM
Виталий Кондратьев
Виталий Кондратьев - avatar
1 Réponse
+ 3
Для этого нужно проверить условие (k==m) ||(l==n)||(abs(k-m)==abs(l-n)). Если оно истинно, ферзь угрожает клетке. Первые два проверяют угрозы по горизонтали и вертикали (находятся ли клетки на одной прямой). Последнее условие проверяет, находятся ли ферзь и проверяемая клетка на одной диагонали. Две клетки находятся на одной диагонали, когда расстояние между ними по Х равно расстоянию по У.
4th Nov 2017, 10:42 PM
Станислав Бахметьев