Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.04.2011, 18:43
cash cash вне форума
Прохожий
 
Регистрация: 15.03.2011
Сообщения: 35
Репутация: 10
По умолчанию Задача по теме условный оператор

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число - номер вертикали (при счете слева на право), второе число - номер горизонтали (при счете снизу вверх).Даны натуральные числа k, e, m, n каждое из которых не превосходит восьми. Требуется: выяснить, можно ли с поля (k, e) одним ходом ферзя попасть на поле (m, n). Если нет, то выяснить, как это можно сделать за два хода (указать поле, на которое приводит первый ход).

Подскажите в каком направлении думать.
Вообще не представляю как это сделать ((((
Ответить с цитированием
  #2  
Старый 07.04.2011, 19:49
cash cash вне форума
Прохожий
 
Регистрация: 15.03.2011
Сообщения: 35
Репутация: 10
По умолчанию

У меня вот получилось считать когда белые и когда черные клетки, и когда ферзь может ходить по горизонтали и вертикали. А вот как ходить по диагонали, я не могу подсчитать, подскажите ))))
Ответить с цитированием
  #3  
Старый 07.04.2011, 20:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,093
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

по диагонали - это когда x и y меняются на одинаковое (абсолютно) значение. Т.е. если abs(x2-x1) = abs(y2-y1) то можно попасть за один ход.
Ответить с цитированием
  #4  
Старый 07.04.2011, 21:09
cash cash вне форума
Прохожий
 
Регистрация: 15.03.2011
Сообщения: 35
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
по диагонали - это когда x и y меняются на одинаковое (абсолютно) значение. Т.е. если abs(x2-x1) = abs(y2-y1) то можно попасть за один ход.

Спасибо, все получилось )))

Теперь еще осталось сделать что бы в случае ошибки он выдавал как нужно ходить )))
Ответить с цитированием
  #5  
Старый 07.04.2011, 22:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,093
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А ходи всегда по прямым. т.е. сначала по вертикали, потом по горизонтали (за ход меняется только одна координата).
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:55.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025