
Нужно написать программу которая при вводе координат начальной и конечной ячеек шахматной доски
будет решать возможен ли ход в конечную ячейку шахматной фигуры «Слон». Программа должна вывести: «YES» если ход возможен и «NO» если нет. Решение в C++

Ответы на вопрос

#include <iostream>
using namespace std;
int main(){
long long x1,x2,y,y2;
cout<<"Enter x1:";
cin>>x1; // вводим начальную координату по горизонтали
cout<<"Enter y1:";
cin>>y; // вводим начальную координату по вертикали
cout<<"Enter x2:";
cin>>x2; // вводим конечную координату по горизонтали
cout<<"Enter y2:";
cin>>y2; // вводим координату координату по вертикали
if(x1 - y == x2 - y2 || x1 + y == x2 + y2){
cout << "YES";
}
else{
cout << "NO";
}
}
else{
cout << "NO";
}
}



#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
// input data
int x1, y1, x2, y2;
// get data
co



Для решения этой задачи вам нужно определить, лежат ли начальная и конечная ячейки на одной диагонали. Ферзь движется только по диагоналям, поэтому если начальная и конечная ячейки находятся на одной диагонали, то ход возможен. Для этого можно использовать разницу между координатами.
Вот пример программы на C++, которая решает эту задачу:
cpp#include <iostream>
#include <cmath>
bool isBishopMovePossible(int startRow, int startCol, int endRow, int endCol) {
// Проверка, лежат ли ячейки на одной диагонали.
int rowDiff = std::abs(startRow - endRow);
int colDiff = std::abs(startCol - endCol);
return rowDiff == colDiff;
}
int main() {
int startRow, startCol, endRow, endCol;
std::cout << "Введите координаты начальной ячейки (номер строки и столбца): ";
std::cin >> startRow >> startCol;
std::cout << "Введите координаты конечной ячейки (номер строки и столбца): ";
std::cin >> endRow >> endCol;
if (isBishopMovePossible(startRow, startCol, endRow, endCol)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
Программа запрашивает координаты начальной и конечной ячеек у пользователя, затем вызывает функцию isBishopMovePossible
для проверки возможности хода фигуры "Слон". Если ход возможен, программа выводит "YES", иначе - "NO".


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







Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili