Ферзь, стоящий в точке
)
, может бить фигуры, у которых: 1)

2)

3) координаты находятся по диагонали от ферзя.Имеем не самую лучшую и чистую, но рабочую программку:#include <cstdio>int main() { int x1, x2, y1, y2, x_d1, y_d1, x_d2, y_d2; printf("x1="); scanf("%d", &x1); printf("y1="); scanf("%d", &y1); printf("x2="); scanf("%d", &x2); printf("y2="); scanf("%d", &y2); /* Проверка на линейные совпадения */ if ( (x1 == x2) or (y1 == y2) ) { printf("1"); return 1; } /* Поиск пересечения с диагональю 1 */ x_d1 = x1; y_d1 = y1; while ( (x_d1 > 1) and (y_d1 > 1) ) { x_d1--; y_d1--; if ( (x2 == x_d1) and (y2 == y_d1) ) { printf("1"); return 1; } } while ( (x_d1 < 8) and (y_d1 < 8) ) { x_d1++; y_d1++; if ( (x2 == x_d1) and (y2 == y_d1) ) { printf("1"); return 1; } } /* Поиск пересечения с диагональю 2 */ x_d2 = x1; y_d2 = y1; while ( (x_d2 < 8) and (y_d1 > 1) ) { x_d1++; y_d1--; if ( (x2 == x_d2) and (y2 == y_d2) ) { printf("1"); return 1; } } while ( (x_d1 > 1) and (y_d1 < 8) ) { x_d1--; y_d1++; if ( (x2 == x_d2) and (y2 == y_d2) ) { printf("1"); return 1; } } printf("0"); return 0;}