Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 6

Программа ходов шахматного короля

18.01.2018, 21:04. Показов 11651. Ответов 7

Студворк — интернет-сервис помощи студентам
Программа должна показывать может ли король переместиться с одной клетки на другую посредством ввода координат. Но при вводе 4 4(начальные координаты по осям х и у) и 4 3 (конечные координаты) выводит ответ NO, хотя должно выводитться YES. В чем проблема и как ее исправить/переписать программу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <math.h>
using namespace std;
int main() {
  // put your code here
  int x, y, x1, y1;
  cin >> x >> y >>x1 >>y1;
  if (((x == x1) || (x1 == x + 1) || (x1 == x - 1))  && ((y == y1) || (y1 == y + 1) || (y == y - 1))){
 
  cout << "YES";
  }else{
  cout << "NO";
  }
  return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2018, 21:04
Ответы с готовыми решениями:

Найти кратчайший путь шахматного короля
Здравствуйте, имеется задача: Есть шахматное поле NxM N, M ≤ 10^9 На шахматном поле отмечено два прямоугольника размерами не менее...

Разработать библиотеку классов для генерации дерева ходов шахматного этюда «белые король и слон против черного короля»
Здравствуйте! Нужно добавить необходимые классы и переделать операции Generate_Pos и ​​Draw_position; Я совсем не дружу с С# ...

Заполнение шахматного поля натуральными числами по правилу ходов шахматной фигуры "Конь"
Программеры, очень нужна ваша помощь. Я студак 1-го курса, и нужно выполнить задачу, очень парюсь, ничего не получается. Задача...

7
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.01.2018, 22:26
Цитата Сообщение от SamedMusaev Посмотреть сообщение
(y == y - 1))
Вот тут у вас описочка
Но я бы сказал так
C++
1
if (abs(x-x1)<=1 && abs(y-y1)<=1)...
1
0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 6
19.01.2018, 20:13  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Вот тут у вас описочка
Но я бы сказал так
C++
1
if (abs(x-x1)<=1 && abs(y-y1)<=1)...
Цитата Сообщение от Байт Посмотреть сообщение
abs
А можно точнее рассказать про abs?

Добавлено через 12 минут
Цитата Сообщение от SamedMusaev Посмотреть сообщение
А можно точнее рассказать про abs?
Все, понял, это модуль)
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
19.01.2018, 20:29
Цитата Сообщение от SamedMusaev Посмотреть сообщение
А можно точнее рассказать про abs?
C++
1
#define abs(x) (x<0) ? (-(x)) : (x);
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
20.01.2018, 09:40
Байт, еще нужна проверка на равенство конечной и начальной позиций.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
20.01.2018, 10:49
Цитата Сообщение от avgoor Посмотреть сообщение
еще нужна проверка на равенство конечной и начальной позиций.
Да, ваша правдочка! Спасибо!
0
20.01.2018, 13:12

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Спасибо!
Всегда пожалуйста.

0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
21.01.2018, 15:09
Лучший ответ Сообщение было отмечено SamedMusaev как решение

Решение

SamedMusaev, здравствуйте! Я, давно, когда только еще начинал программировать, решал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main()
{
    int x, y, x1, y1;
    cin >> x >> y >> x1 >> y1;
    if (((abs(x - x1) == 1) && ((y - y1) == 0)) ||
        ((abs(y - y1) == 1) && ((x - x1) == 0)) ||
        ((abs(x - x1) == 1) && (abs(y - y1) == 1)))
    {
        cout << "YES\n";
    }
    else
    {
        cout << "NO\n";
    }
    system("pause");
    return 0;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2018, 15:09
Помогаю со студенческими работами здесь

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

Программа шашки. Реализация ходов. Оцените программу, найдите ошибки
Здравствуйте! Я начинающий программист, прошу оценить программу. Программа представляет собой реализацию ходов игры шашки. Я хочу...

Программа для вывода возможных ходов коня по клику на клетку шахматной доски
Что-то много в интернете про коня, но в основном по расчету максимально возможных ходов. А вот чтобы на графически нарисованном шахматном...

задача короля артура
Turbo Pascal (ПОМОГИТЕ РАЗОБРАТЬСЯ С КОДОМ К ЗАДАЧЕ.ОЧЕНЬ-ОЧЕНЬ ПРОШУ!!!) Вы не поверите, но однажды в древности произошла такая история....

Расположение короля на шахматной доске
Напишите пожалуйста код проги(с комментариями), по заданию: &quot;Поле шахматной доски определяется парой натуральных чисел, каждой из которых...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru