1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 80
1

Может ли шахматный конь за один ход попасть из одного поля в другое?

30.06.2016, 02:03. Показов 2610. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы координаты двух полей на шахматной доске: px1 py1 и px2
py2. Гарантируется (т.е. не надо это в программе проверять), что все
координаты корректные, т.е. целые и лежат в диапазоне [1,8].
Требуется вывести Possible, если шахматный конь может за один ход
попасть из одного поля в другое и Impossible в противном случае

Вход
1 2
2 4

5 6
5 7

4 7
5 5

Выход
Possible

Impossible

Possible
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2016, 02:03
Ответы с готовыми решениями:

Может ли шахматный конь за один ход попасть из одного поля в другое?
5.Заданы координаты двух полей на шахматной доске: px1 py1 и px2 py2. Гарантируется (т.е. не надо...

Шахматный конь за один ход может переместиться с одного заданного поля на другое(каждое поле задано двумя коо
Напишите понятным языком.:cry: Шахматный конь за один ход может переместиться с одного...

Определить, может ли конь за один ход перейти с одного поля на другое
С++ Даны координаты (целые от 1 до 8) двух полей шахматной доски. Определить, может ли конь за...

Выясните, может шахматный конь за один ход попасть с ячейки с координатами (x1, y1) в ячейку с координатами (x2, y2)
4.Выясните, может шахматный конь за один ход попасть с ячейки с координатами (x1, y1) в ячейку с...

3
90 / 22 / 35
Регистрация: 29.06.2016
Сообщений: 96
30.06.2016, 02:23 2
Вроде одна конечная координата (x или y) должна отличаться от начальной на 1, а вторая (x или y) на 2 или наоборот - первая должна отличаться на 2, вторая на 1.

C++
1
2
3
4
5
6
7
8
9
10
11
int d1 = abs(px1 - px2)
int d2 = abs(py1 - py2)
 
if ((d1 == 1 && d2 == 2) || (d1 == 2 && d2 == 1) )
{
    coun << "Possible" << endl;
}
else
{
    coun << "Impossible" << endl;
}
0
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 80
01.07.2016, 09:18  [ТС] 3
Спасибо большое за помощь!
ОГРОМНОЕ Спасибо!

Добавлено через 14 часов 27 минут
Можно полный код?
Спасибо!

Добавлено через 7 часов 10 минут
Если можно полный код?
Спасибо
0
63 / 61 / 37
Регистрация: 01.04.2015
Сообщений: 116
01.07.2016, 09:28 4
Лучший ответ Сообщение было отмечено Aerarian как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cmath>
#include <windows.h>
 
using namespace std;
 
int main()
{
    int px1, px2;
    int py1, py2;
    cout << "px1: ";
    cin >> px1;
    cout << "py1: ";
    cin >> py1;
    cout << "px2: ";
    cin >> px2;
    cout << "py2: ";
    cin >> py2;
    int d1 = abs(px1 - px2);
    int d2 = abs(py1 - py2);
    if ((d1 == 1 && d2 == 2) || (d1 == 2 && d2 == 1))
        cout << "Possible" << endl;
    else
        cout << "Impossible" << endl;
    system("pause");
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2016, 09:28
Помогаю со студенческими работами здесь

Проверить, может ли шахматный король попасть из одного поля в другое
Помогите написать прогу для проверки может ли попасть король из 1 поле в другое.

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

Проверить, что ферзь за один ход может перейти с одного поля на другое
Задание: Даны координаты двух различных полей шахматной доски x1, y1, x2, y2(целые числа, лежащие...

Проверить истинность высказывания: «Ферзь за один ход может перейти с одного поля на другое»
Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru