Вопрос задан 05.11.2023 в 16:56. Предмет Информатика. Спрашивает Двоскина Катя.

На c++ пожалуйста Ход короля и шахматная нотация Шахматный король ходит по горизонтали, вертикали

и диагонали, но только на одну клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Входные данные Входной файл состоит из двух строк — координат первой и второй клетки в шахматной нотации. Как известно, в шахматной нотации горизонтальные строки обозначаются цифрами от 1 до 8, считая от расположения белых фигур, стоящих внизу доски, а вертикальные столбцы — буквами латинского алфавита: a,b,c,d,e,f,g,h. Выходные данные Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую, или NO в противном случае. Примеры Ввод Вывод a1 a2 YES a1 c2 NO
0 0
Перейти к ответам

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

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

Ответ:

#include <iostream>

using namespace std;

int main(){

char c1, s1, c2, s2;

cin >> c1;

cin >> s1;

cin >> c2;

cin >> s2;

bool colComp (c1 - c2 <= 1 && c1 - c2 >= -1), strComp (s1 - s2 <= 1 && s1 - s2 >= -1);

if (c1 == c2 && s1 == s2){

cout << "NO";

}

else if (colComp && strComp){

   if (c1 <= 0 || s1 <= 0 || c2 <= 0 || s2 <= 0){

       cout << "NO";

   }

   else {cout << "YES";}

 

}

else {cout << "NO";}

return 0;

}

Объяснение:

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

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

Давайте разберем ваши примеры:

1. `a1` -> `a2`: Король начинает с клетки `a1` и хочет попасть на клетку `a2`. Он может сделать это, двигаясь вертикально вверх на одну клетку. Поэтому ответ - "YES".

2. `a1` -> `c2`: Король начинает с клетки `a1` и хочет попасть на клетку `c2`. Он не может сделать это одним ходом, так как это требует движения на две клетки горизонтально и одну клетку вертикально. Поэтому ответ - "NO".

Итак, ответ на ваш запрос в соответствии с заданными правилами - "YES" или "NO", в зависимости от того, может ли король сделать ход с одной клетки на другую на шахматной доске.

0 0

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

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

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

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