Почему не работает этот код? Король в шахматах должен ходить из первой клетки во вторую (первые два числа и вторые два числа). И в зависимости от того пойдет ли он туда пишется ответ. Скажите, что здесь не так?
#include <iostream>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a + 1 < c || b + 1 < d || a - 1 > c || b - 1 > c || a == c && b == d) {
cout << "NO";
} else {
cout << "YES";
}
return 0;
}
C/C++
Почему не работает код?
Потому что вместо условия в программе написан бред.
cout
Александр Миняев
Просто по тому курсу с++, который я прохожу, не было изучения библиотеки cmath и abs, старался делать только по if.
#include
#include
using namespace std;
struct King {
int h;
int v;
King(const int& h, const int& v) : h(h), v(v) {}
bool move(const int& h, const int& v) {
// Выход за переделы доски
if (h > 8 || h < 1 || v > 8 || v < 1) return false;
// Взялся – ходи!
if (this->h == h && this->v == v) return false;
if (abs(this->h - h) v - v) h = h;
this->v = v;
return true;
}
return false;
}
};
int main() {
int h, v;
cin >> h >> v;
King king(h, v);
int mh, mv;
cin >> mh >> mv;
puts(king.move(mh, mv) ? "YES" : "NO");
}
Ваш код работает, но условие в if-блоке неправильно. Ваш код проверяет, находится ли новое положение короля в пределах одной клетки от старого положения по горизонтали и вертикали. Однако, король также может двигаться по диагонали. Правильное условие для проверки того, может ли король переместиться из одной клетки в другую, выглядит так:
#include
#include // для использования функции abs
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (abs(a - c)
Похожие вопросы
- Ошибки в коде. Почему не работает и как сделать чтобы заработало ?
- Подскажите почему не работает элементарнейший код на ардуино
- Почему этот код не работает? Я только начал изучать программирование, не понимаю почему не работает игра в конце
- Не работает код с++
- Не работает код
- Не работает код на с++
- Не работает код
- Не работает код на c++
- Помогите разобраться с тем, как работает код
- Не работает код на c++