|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
||||||
Определить сможет ли белый слон одним ходом пройти на поле12.12.2010, 23:19. Показов 6314. Ответов 12
Метки нет (Все метки)
Поле шахматной доски определяется парой натуральных целых чисел, каждое из которых не превосходит восьми:
Первое число номер вертикали при счете слево на право Второе номер горизонтали при счете с низу в верх Даны натуральные числа - a, b, c, d, e, f, каждое из которых не превосходит восьми. Определить сможет ли: Белый слон (a, b) ОДНИМ ходом пройти на поле (e, f) Не попав при этом под удар Чёрной ладьи (c, d) ![]() В инете видел решение подобной программы но методами которые мы не проходили и проходить не будем (декан нас быстрее к С# всех гонит)ТО что я сам пока надумал исходный код Больше нечего да же чисто теоретически не придумывается...
0
|
||||||
| 12.12.2010, 23:19 | |
|
Ответы с готовыми решениями:
12
Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) Определить, сможет ли белый слон перейти с одного поля на другое, не попав при этом под удар черного ферзя
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 13.12.2010, 00:27 | |
|
В смысле, слон не должен при движении пересечь поле, которое может побить ладья? Или он не должен закончить ход на поле, которое может побить ладья?
В любом случае, надо лишь проверить, что ни одна из координат не совпадает с соответствующей координатой ладьи. В первом случае слон неправ, если (((c>a) && (c<e)) || ((c<a) && (c>e))) || (((d>b) && (d<f)) || ((d<b) && (d>f))), во втором случае нужно проверить только его финальную точку, слон прав, если ((с!=e) && (d!=f))
0
|
|
|
101 / 101 / 27
Регистрация: 10.09.2010
Сообщений: 267
|
|||||||
| 13.12.2010, 00:46 | |||||||
Я специально разбил на функции чтобы был понятнее! + условие мы не можем поставить слона на поле где стоит ладья! Добавлено через 13 минут Не когда не пользуйся этой командой!!! ![]()
1
|
|||||||
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|||||||||||||
| 13.12.2010, 00:57 [ТС] | |||||||||||||
|
и если да то слон не может пойти на эту клетку
Тут она логику программы не портит в 2х строчках испортить нельзя. А больше чем на расстоянии 4х строчек я её не юзаю. Добавлено через 7 минут как я понял если первую координату сложить со второй и число будет четное то поставить можно. а откуда такое условие. (PS в шахматы не когда не играл) а
Большое спасибо за решение. Но хотелось бы немного математических пояснений. На будущие что бы я знал...
0
|
|||||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||
| 13.12.2010, 01:00 | ||||||||
0
|
||||||||
|
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
|
|
| 13.12.2010, 01:04 | |
|
0
|
|
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
||
| 13.12.2010, 01:09 [ТС] | ||
|
ps сам не разу не играл так что...
0
|
||
|
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
|
|
| 13.12.2010, 01:09 | |
|
Но конечно, я поклянусь на библии, что не буду делать из программы "спаггети"
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|||||||||
| 13.12.2010, 01:34 | |||||||||
|
Добавлено через 1 минуту Только чтоб потом не спрашивал, почему вот такое собирается без ошибок:
1
|
|||||||||
|
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
|
||
| 13.12.2010, 01:52 | ||
|
Просто иногда во внутренних циклах обнаруживается невозможность дальнейшей обработки, и тут самое время сказать "goto ..." А просто return - низзя, надоть еще память ослобонить. Конечно, существуют еще всякие прибамбассы типа "finaly", но это ж то же goto, только еще гоэтушней. Но я не собирался этот симпатичный шахматный топик превращать в обсуждение этой старинной и тупиковой темы. Играем дальше!
0
|
||
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|
| 13.12.2010, 16:23 [ТС] | |
|
Overmind024,
Сей час поработал с кодом что то не нашёл не 1 такой 6терки чисел которые бы давали положительный результат... Да и 100% как математически это считается не догнал...
0
|
|
|
101 / 101 / 27
Регистрация: 10.09.2010
Сообщений: 267
|
|||||||||||||||||
| 13.12.2010, 19:58 | |||||||||||||||||
|
такс)
во первых нельзя былово слона поставить на черное поле))) у белого поля есть свойство суммы x+y координаты не четное отсюда и выплывает условие
в третьих
в условии написано
и еще 6 которая удовлетворяет условию 1 2 6 5 5 6!!
1
|
|||||||||||||||||
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|
| 13.12.2010, 20:47 [ТС] | |
|
спасибо теперь прояснилась ситуация.
0
|
|
| 13.12.2010, 20:47 | |
|
Помогаю со студенческими работами здесь
13
Выяснить, можно ли с поля с координатами (k, l) одним ходом слона попасть на поле с координатами (m, n) Выяснить, можно ли с поля с координатами (k, l) одним ходом ферзя попасть на поле с координатами (m, n)
Определить, может ли ладья попасть с первой клетки на вторую одним ходом Определить поля, на которые может пройти белый конь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|