Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задание повышенной сложности про шахматного коня

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

krol



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Цитата:
 
boolean legal(Matrix mat ,int i, int j)  
{  
return !( (i>=N||i<0) || (j>=M||j<0) || mat[i][j] );  
}  
 

Зачем после return "!"?  

Цитата:
 
typedef int Matrix[N][M] ;  
typedef int boolean ;  
 

Что это???
 
И еще этот код для С?
У меня С++ не берет его!  

Всего записей: 18 | Зарегистр. 18-01-2003 | Отправлено: 13:09 22-03-2003
snop



local root
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krol

Цитата:
И еще этот код для С?

Да, ANSI C  

Цитата:
У меня С++ не берет его!  

Так это не полная прога,это всего лишь часть отвечающая за алгоритм
 

Цитата:
typedef int Matrix[N][M] ;  
typedef int boolean ;  
 
 
Что это???  

Первое определение шахматной доски размером N на M клеток
Второе определение нового типа для TRUE/FALSE (для АНСИ Си )
 

Цитата:
Зачем после return "!"?  

Чтобы возвращала TRUE если мы находимся на шахматной доске и FALSE если нет

----------
Русский Mambo уже здесь

Всего записей: 1591 | Зарегистр. 27-04-2002 | Отправлено: 13:24 22-03-2003
krol



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А на С++ надо вместо
boolean legal(Matrix mat ,int i, int j)  
{  
return !( (i>=N||i<0) || (j>=M||j<0) || mat[i][j] );  
}  
 
писать
bool legal(Matrix mat ,int i, int j)  
{  
return !( (i>=N||i<0) || (j>=M||j<0) || mat[i][j] );  
}  
 
Matrix mat  -- ???

Всего записей: 18 | Зарегистр. 18-01-2003 | Отправлено: 13:30 22-03-2003
snop



local root
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
krol

Цитата:
Matrix mat  -- ???

Mat это переменая типа Matrix,которая определена с помощью
Цитата:
typedef int Matrix[N][M] ;  

 
П.С.Ты на алгоритм смотри,а не на сорцы

----------
Русский Mambo уже здесь

Всего записей: 1591 | Зарегистр. 27-04-2002 | Отправлено: 14:00 22-03-2003
zam

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic
Как бы ты (в виде реализации) применил бы эвристику? Насколько это можно оптимизировать?

Всего записей: 185 | Зарегистр. 19-01-2003 | Отправлено: 17:12 23-03-2003
krol



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А это тебе что не эвристика:
void vibmest(int* moveRw,int *moveCl)
{
int *vibor=new int[*hmicord];
int prior[n][n]={{2,3,4,4,4,4,3,2},
{3,4,6,6,6,6,4,3},
{4,6,8,8,8,8,6,4},
{4,6,8,8,8,8,6,4},
{4,6,8,8,8,8,6,4},
{4,6,8,8,8,8,6,4},
{3,4,6,6,6,6,4,3},
{2,3,4,4,4,4,3,2}};
for(int co=0;co<*hmicord;co++)
{
vibor[co]=prior[cord[co][1]][cord[co][2]];

}
int min=vibor[0],number=0;

for(int cv=1;cv<*hmicord;cv++)
{
if(min>vibor[cv])
{
min=vibor[cv];
number=cv;
}
}
*moveRw=cord[number][1];
*moveCl=cord[number][2];
delete[] vibor;
}

Всего записей: 18 | Зарегистр. 18-01-2003 | Отправлено: 18:30 23-03-2003
krol



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот тут откопал готовую прогу!
Если кому интересно можно скачать тут
http://krol-forum.webm.ru/download.htm
или глянуть описание тут
http://krol-forum.webm.ru/cgi-bin/YaBB.cgi?board=news;action=display;num=1045596771;start=4#4

Всего записей: 18 | Зарегистр. 18-01-2003 | Отправлено: 00:34 24-03-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задание повышенной сложности про шахматного коня


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru