IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Записи, ... и только записи
DD
сообщение 21.05.2005 20:56
Сообщение #1


Гость






Программа:

type поле=record верт:(a,b,c,d,e,f,g,h);
гориз: 1..8
end;
Описать логическую функцию ходферзя (n1,n2), проверяющая, может ли ферзь за один ход перейти с поля n1 шахматной доски на поле n2

код:

Код


Program laba4;

type pole=record vert:(a,b,c,d,e,f,g,h);
                gor: 1..8;
                end;

var
n1,n2 :pole;

function hodferzya(n1,n2:pole) : boolean;
begin

if ((n1.vert)=(n2.vert)) and (n1.gor=n2.gor)
then hodferzya:=true
else hodferzya:=false;
end;

begin
readln(n1,n2);
case n1 of
hodferzya(n1,n2);
end.



что не то? поправьте.. как всё же правильно описать условие проверки хода ферзя?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 22.05.2005 1:40
Сообщение #2


Гость






Ребята, я конечно очень извиняюсь, но этой функции:
function hodferzya(n1,n2:pole) : boolean;
begin
if ((n1.vert)=(n2.vert)) and (n1.gor=n2.gor) then hodferzya:=true
else hodferzya:=false;
end;

недостаточно, ибо ферзь ходит не только по горизонтали и вертикали, а еще и по диагонали... Кстати, почему And между условиями?

Так что придется делать что-то типа:
function hodferzya(n1,n2:pole) : boolean;
begin
hodferzya := (n1.vert=n2.vert) or (n1.gor=n2.gor) or
(abs(n1.vert-n2.vert)=abs(n1.gor-n2.gor))
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 11:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"