Вопрос задан 26.07.2023 в 13:35. Предмет Информатика. Спрашивает Мартыненко Александра.

Нужно написать программу которая при вводе координат начальной и конечной ячеек шахматной доски

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Пугачёв Витя.

#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";

}

}


0 0
Отвечает Касумова Диана.

#include "stdafx.h"  

#include <iostream>  


using namespace std;  


int main()  

{  

// input data  

int x1, y1, x2, y2;  


// get data  

co

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот пример программы на 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".

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос