Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Генератор чисел
 
 автор: Dimon2005   (18.11.2005 в 20:01)
 
 

Привет!
Я в математике не собо шарю и решил обратиться за помощью как всегда к вашему форуму..
Значит суть генератора:
Есть 30 человек, к каждому присвоен свой уникальный номер, например:
Вася -1
Паша -3
Степа -7
и так далее от 1 до 30...
Неообходимо чтобы скрипт разбил эти 30 числе на 6 групп, и в каждой группе вывел числа случайным образом, пример:

Команда №1:
2
5
14
26
10
Команда №2:
3
11
24
8
16

И так еще 3 команды.... Кто поможет?

   
 
 автор: cheops   (18.11.2005 в 23:18)   письмо автору
 
   для: Dimon2005   (18.11.2005 в 20:01)
 

Участники в группы попадают в случайном порядке? Можно просто взять упорядоченный массив - перемещать его при помощи функции shuffle() и вывести группы 1-5, 6-10, 11-15, 16-20, 21-25, 26-30.

   
 
 автор: Dimon2005   (19.11.2005 в 15:00)
 
   для: cheops   (18.11.2005 в 23:18)
 

Дело в том что я незнаю как рассортировать таким образом...
Надо что-бы получилось к примеру так:
(1, 6, 8, 14, 21), (24, 15, 9, 2, 29), и так далее.
Тоесть 6 групп случайным образом с числами от 1 до 30 .

   
 
 автор: Киналь   (19.11.2005 в 18:07)   письмо автору
 
   для: Dimon2005   (19.11.2005 в 15:00)
 

Так вот о том и речь. Создаем массив из чисел от 1 до 30, называем, к примеру, $first_arr. Далее

$shuf_arr=shuffle($first_arr);

for ($i=1, $i<6, $i++)
{
 echo $shuf_arr[$i]."<br>"; // 1-я группа
}

for ($i=7, $i<12, $i++)
{
 echo $shuf_arr[$i]."<br>"; // 2-я группа
}

// и т.д.

При желании можно, конечно, еще один цикл сверху поставить, на 5 итераций (по числу групп).

   
 
 автор: Dimon2005   (20.11.2005 в 01:57)
 
   для: Киналь   (19.11.2005 в 18:07)
 

Поставьте пожалуйста

   
 
 автор: Киналь   (20.11.2005 в 13:19)   письмо автору
 
   для: Dimon2005   (20.11.2005 в 01:57)
 


$shuf_arr=shuffle($first_arr); 

for ($num=1, $num=5, $num++)
{
for ($i=$num-1, $i<$num+4, $i++) 

echo $shuf_arr[$i]."<br>";  
}


Вроде так. Правда, не проверял.

   
 
 автор: Dimon2005   (20.11.2005 в 15:50)
 
   для: Киналь   (20.11.2005 в 13:19)
 

Неработает, ошибка в строке номер 4.

   
 
 автор: cheops   (20.11.2005 в 21:30)   письмо автору
 
   для: Dimon2005   (20.11.2005 в 15:50)
 

Необходимо переписать скрипт следующим образом
<?php
$shuf_arr
=shuffle($first_arr); 

for (
$num=1$num=5$num++) 

  for (
$i=$num-1$i<$num+4$i++) 
  { 
    echo 
$shuf_arr[$i]."<br>";   
  } 
}
?>

   
 
 автор: Dimon2005   (21.11.2005 в 18:59)
 
   для: cheops   (20.11.2005 в 21:30)
 

Пишет ошибку в 2-й строке и виснит сервер, я так понял из-за цикла!
Что-же делать?
4 примера и все неправильные :(

   
 
 автор: Киналь   (21.11.2005 в 19:41)   письмо автору
 
   для: Dimon2005   (21.11.2005 в 18:59)
 

Если "виснет сервер", то это уже не в этот форум=))

Приведите, пожалуйста. полный текст сообщения об ошибке.

   
 
 автор: cheops   (21.11.2005 в 21:04)   письмо автору
 
   для: Dimon2005   (21.11.2005 в 18:59)
 

Исправьте код на следующий
$shuf_arr=shuffle($first_arr); 

for ($num=1; $num<=5; $num++) 

  for ($i=$num-1; $i<$num+4; $i++) 
  { 
    echo $shuf_arr[$i]."<br>";    
  } 

?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования