Вопрос задан 18.06.2023 в 01:59. Предмет Информатика. Спрашивает Язова Ариша.

В С++ Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит

8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, e, f, каждое из которых не превосходит 8. Записать выражение, проверяющее возможность, при которой белая фигура, расположенная на поле (a, b), может одним ходом пойти на поле (e, f), не попав при этом под удар черной фигуры, находящейся на поле (c, d). Сочетание белой и черной фигуры ферзь и ферзь.
0 0
Перейти к ответам

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

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

#include <iostream>

using namespace std;

int main()

{

   int a, b, c, d, e, f;

   cin >> a >> b >> c >> d >> e >> f;

   int flag = 0;

   int k = 1;

   if (a == e)

   {

       flag = 1;

   }

   if  (b == f)

   {

       flag = 1;

   }

   else

   {

       while (k < 8)

       {

           if (a + k == e and b + k == f) flag = 1;

           if (a + k == e and b - k == f) flag = 1;

           if (a - k == e and b + k == f) flag = 1;

           if (a - k == e and b - k == f) flag = 1;

           k ++;

       }

   }

   k = 1;

   if (c == e)

   {

       flag = 0;

   }

   if  (d == f)

   {

       flag = 0;

   }

   else

   {

       while (k < 8)

       {

           if (c + k == e and d + k == f) flag = 0;

           if (c + k == e and d - k == f) flag = 0;

           if (c - k == e and d + k == f) flag = 0;

           if (c - k == e and d - k == f) flag = 0;

           k ++;

       }

   }

   if (flag == 1) cout << "Возможно";

   if (flag == 0) cout << "Невозможно";

}

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

Для проверки возможности хода белой фигуры (ферзя) с поля (a, b) на поле (e, f), не попав при этом под удар черной фигуры (ферзя) на поле (c, d), можно использовать следующее выражение:

((a == e) || (b == f) || (abs(a - e) == abs(b - f))) && !((a == c) && (b == d))

В этом выражении используются следующие условия: - Первое условие ((a == e) || (b == f) || (abs(a - e) == abs(b - f))) проверяет, что фигура может двигаться по вертикали, горизонтали или диагонали. - Второе условие !((a == c) && (b == d)) проверяет, что фигура не находится на поле (c, d), где находится черная фигура.

Таким образом, если выражение истинно, то белая фигура может сделать ход с поля (a, b) на поле (e, f), не попав при этом под удар черной фигуры на поле (c, d).

Пример кода на языке Python, демонстрирующий использование этого выражения:

```python a = int(input("Введите номер вертикали для поля (a, b): ")) b = int(input("Введите номер горизонтали для поля (a, b): ")) c = int(input("Введите номер вертикали для поля (c, d): ")) d = int(input("Введите номер горизонтали для поля (c, d): ")) e = int(input("Введите номер вертикали для поля (e, f): ")) f = int(input("Введите номер горизонтали для поля (e, f): "))

if ((a == e) or (b == f) or (abs(a - e) == abs(b - f))) and not ((a == c) and (b == d)): print("Белая фигура может сделать ход с поля (", a, ",", b, ") на поле (", e, ",", f, ")") else: print("Белая фигура не может сделать ход с поля (", a, ",", b, ") на поле (", e, ",", f, ")") ```

Пожалуйста, обратите внимание, что в этом примере кода используется функция `input()` для ввода значений с клавиатуры. Вы можете изменить этот код, чтобы использовать конкретные значения для переменных a, b, c, d, e и f, если это необходимо.

Надеюсь, это поможет! Если у вас возникнут еще вопросы, пожалуйста, дайте мне знать.

0 0

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

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

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

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