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

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

21.09.2015, 13:27. Показов 2953. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
5.Заданы координаты двух полей на шахматной доске: px1 py1 и px2 py2. Гарантируется (т.е. не надо это в программе проверять), что все координаты корректные, т.е. целые и лежат в диапазоне [1,8]. Требуется вывести Possible, если шахматный конь может за один ход попасть из одного поля в другое и Impossible в противном случае
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2015, 13:27
Ответы с готовыми решениями:

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

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

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

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

14
4023 / 3280 / 920
Регистрация: 25.03.2012
Сообщений: 12,269
Записей в блоге: 1
21.09.2015, 13:49 2
C++
1
bool Possible=(abs(px1-px2)+abs(py1-py2)==3)
0
0 / 0 / 0
Регистрация: 12.09.2015
Сообщений: 28
21.09.2015, 14:38  [ТС] 3
можно полный код?
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 868
21.09.2015, 15:27 4
Че, совсем тяжело стало учиться без решебников?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<cmath>
 
int main()
{
    char ch1, ch2;
    int vol1, vol2;
 
        std::cin >> ch1 >> vol1;
        std::cin >> ch2 >> vol2;
        
            
        if ((((abs(ch1 - ch2) <= 2) && (abs(vol1 - vol2) <= 2)) && ((ch1 != ch2) && (vol1 != vol2))) && !((abs(ch1 - ch2)==1) && (abs(vol1-vol2))==1))
            std::cout << "Possible";
            
        else
            std::cout << "Impossible";
        
}
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
21.09.2015, 15:38 5
Senarist, а вы ему только потакаете
лучше б дали возможность головой чуть-чуть подумать // не по теме

и у вас, кстати, main не возвращает никакого значения
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 868
21.09.2015, 15:39 6
Пусть додумает))
0
Фрилансер
3704 / 2076 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
21.09.2015, 15:44 7
Kuzia domovenok, у Вас конь может прыгнуть на три клетки по прямой

Добавлено через 2 минуты
Senarist, а у Вас конь может пойти на 2 клетки по диагонали. На одну Вы ему явно запретили, а на две - нет
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 868
21.09.2015, 15:52 8
Black Fregat спасибо. Что то я не учел. Но мне изначально этот длинный if не нравится, наверняка можно проще...

Добавлено через 2 минуты
В общем то туда надо добавить условие чтобы вычитание чаров и чисел одновременно 2 не ровнялись
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
21.09.2015, 16:02 9
Senarist, только сейчас всмотрелся в ваш код. а почему у вас одно значение char, а другое int?

вот мой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
int x1, y1, x2, y2;
 
std::cin >> x1 >> y1;
std::cin >> x2 >> y2;
 
x1 = abs(x1 - x2);
y1 = abs(y1 - y2);
 
if(((x1 == 1) && (y1 == 2)) || ((x1 == 2) && (y1 == 1)))
{ std::cout << "Possible"; }
else
{ std::cout << "Impossible"; }
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 868
21.09.2015, 16:21 10
Пытливый Ум C7 D5 получил Impossible
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
21.09.2015, 16:34 11
Senarist, невнимательно читали задание
целые и лежат в диапазоне [1,8]
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
21.09.2015, 16:45 12
C++
1
2
3
4
5
6
7
8
9
POINT p[2]={{1, 2}, {2, 1}};
bool Do_Dark_Horses_Dream_Of_Nightmares(POINT p1, POINT p2)
{
    POINT p3 = p1 - p2;
    abs(p3);
    if((p3 != p[0]) && (p3 != p[1]))
        return FALSE;
    return TRUE;
}
Реализации операторов и элементарных функций счёл недостойными пребывать в этом блоке кода.
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 868
21.09.2015, 18:53 13
Пытливый Ум так я итак из диапазона этого числа взял 7 и 5 разве не из диапазона [1,8]
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
21.09.2015, 20:35 14
Senarist, а C и D? Они не удовлетворяют условию
0
0 / 0 / 0
Регистрация: 18.02.2022
Сообщений: 5
18.02.2022, 14:57 15
Цитата Сообщение от Пытливый Ум Посмотреть сообщение
Senarist, только сейчас всмотрелся в ваш код. а почему у вас одно значение char, а другое int?

вот мой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
int x1, y1, x2, y2;
 
std::cin >> x1 >> y1;
std::cin >> x2 >> y2;
 
x1 = abs(x1 - x2);
y1 = abs(y1 - y2);
 
if(((x1 == 1) && (y1 == 2)) || ((x1 == 2) && (y1 == 1)))
{ std::cout << "Possible"; }
else
{ std::cout << "Impossible"; }
ne robotayet
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2022, 14:57
Помогаю со студенческими работами здесь

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

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

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

Верно ли, что шахматный конь за один ход может переместиться с одного заданного поля на другое?
23. Шахматный конь за один ход может переместиться с одного заданного поля на другое (каждое поле...

Верно ли, что Шахматный конь за один ход может переместиться с заданного поля на другое
II.Логические выражения 23. Шахматный конь за один ход может переместиться с одного заданного поля...

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


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

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

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