|
|
|
| Доброй ночи! У меня такая задача есть:
Необходимо, чтобы скрипт составлял расписания игр по алгоритму как показано в прикрепленном файле. Там составлено расписание для 4,6,8 игроков. Точно так же срикпт должен составлять расписание и для n игроков (в виде матрицы n*n). Цифрами обозначены номера туров, в которых играют между собой игроки. Вместо букв p скрипт будет подставлять имена игроков из таблицы в базе. Затем с их именами составлять расписание и снова загонять в базу полученные данные (в другую таблицу).
Главный вопрос - как этот алгоритм составления расписания реализовать в коде? Пользователь может задавать матрицу размера n*n, а скрипт исходя из размера матрицы должен генерировать сетку. | |
|
|
|
|
|
|
|
для: Saddam
(07.12.2005 в 02:39)
| | Люди! Кто-нибудь! Ответьте :) | |
|
|
|
|
|
|
|
для: Saddam
(07.12.2005 в 02:39)
| | А что-то не очень понятно - необходимо просто создать файл с содержимым подобным тому, что приведено во вложении? | |
|
|
|
|
|
|
|
для: cheops
(07.12.2005 в 13:55)
| | Не совсем
План действий такой:
1) Я захожу на страницу (админскую), там есть форма. В форме собственно только одно поле <input type=text name=n>. В нем я задаю размеры выходной матрицы.
2) Обработчик исходя из заданных размеров матрицы, составляет расписание по алгоритму, как в файле. Берет из базы имена игроков и подставляет их по очереди вместо буквы P (в прикрепленном файле)
3) Забивает в базу созданную матрицу.
3-ий пункт необязателен пока.
Главное сделать скрипт, который бы составлял такую матрицу, как в файле. Цифрами обозначены номера туров чемпионата. | |
|
|
|
|
|
|
|
для: Saddam
(07.12.2005 в 16:06)
| | Оч. нужна помощь :) | |
|
|
|
|
|
|
|
для: Saddam
(07.12.2005 в 16:06)
| | Так как бы второй пункт реализуется при осуществлении третьего - нужна база куда это всё будет вбиватся... | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 01:56)
| | Да мне не нужна пока база. Можно на время забыть про нее! Мне главное чтобы скрипт выводил мне на страницу матрицу вида как в файле!!! | |
|
|
|
|
|
|
|
для: Saddam
(08.12.2005 в 16:09)
| | Нужный вам скрипт может выглядеть следующим образом
<?php
$value = 8;
for($i =1; $i < $value; $i++) $arr[] = $i;
array_shift($arr);
$arr[] = 1;
echo "<pre>";
print_r($arr);
for($i = -1; $i < count($arr) + 1; $i++)
{
for($j = -1; $j < count($arr) + 1; $j++)
{
if($i == $j)
{
echo "x;";
continue;
}
if($i == -1)
{
echo "p;";
continue;
}
if($j == -1)
{
echo "p;";
continue;
}
$index = $i + $j - 1;
if(count($arr) == $j) $index = 2*$i - 1;
if(count($arr) == $i) $index = 2*$j - 1;
if($index > count($arr) - 1) $index = $index - count($arr);
if($index < 0) $index = count($arr) - 1;
echo $arr[$index].";";
}
echo "\r\n";
}
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.12.2005 в 02:01)
| | Вот спасибо :) Большой человеческое спасибо ;) | |
|
|
|