Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 16:50   #1
lizardvirz
Новичок
Джуниор
 
Регистрация: 02.12.2014
Сообщений: 2
Вопрос нужна помощь в написании программы тема :простейшая целочисленная арифметика

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

вот отрывок который определяет смогу ли я попасть в конечные координаты за один ход (a и b- координаты начальные , l и d соответственно конечные ):
Код:
begin
    if (a+b+l+d) mod 2  = 0 then 
     begin 
      if  (abs(a - l) = abs(b - d)) then 
      writeln('мы сможем за один ход попасть из (', a, ',', b, ') в (', l, ',', d, ')')
      else 
       begin
//       вот с  этим и проблема ...
//Если нет, то выяснить, как это можно сделать за два хода (указать     //поле, на которое приводит первый ход).
       end ;
     end 
    else 
    writeln ('мы не сможем попасть на конечное поле т.к. она другого цвета ');
  
    end;
заранее спасибо

Последний раз редактировалось Stilet; 02.12.2014 в 16:59.
lizardvirz вне форума Ответить с цитированием
Старый 02.12.2014, 22:25   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,330
По умолчанию

Так думаю, что если оформить первую часть приведенного кода в виде процедуры, то решение для второй части будет состоять в соответствующем переборе полей (поиске нужного поля) и проверки того, что в некоторое поле можно попасть из двух точек с начальными и конечными координатами.



Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 03.12.2014, 03:28   #3
lizardvirz
Новичок
Джуниор
 
Регистрация: 02.12.2014
Сообщений: 2
По умолчанию

и все же мне не понятно зачем ты хочешь запихать первую часть в процедуру (объясни пожалуйста) , а на счет второй части если можно приведи пример кода (но лучше конечно эту написать )
//я вообщем то запрограммирую ее сам мне бы узнать математическое выражение вот этого условия указать поле, на которое приводит первый ход)
lizardvirz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в написании программы vadim_81 Общие вопросы по Java, Java SE, Kotlin 0 21.09.2014 14:13
Нужна помощь в написании программы. DelphiMan Работа с сетью в Delphi 14 31.01.2009 23:19
Нужна помощь в написании программы. GhosT3Ds Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2007 07:45