Алогритм

Discussion in 'PHP' started by namak, 5 Jul 2010.

  1. namak

    namak Member

    Joined:
    29 Jan 2009
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0
    В общем кто знаком с футболом.
    вот есть страничка пользователь вводит названия (по умолч 16 команд) этих команд.
    дальше обработчик должен вывести календарь игр по турам.
    Пример:
    Тур 1
    ком1 - ком2
    ком3 - ком4
    и тд..

    скрипт на php написал но вывод незнаю как сделать правильным, выводится не потурам а по командам

    ком1 - ком2
    ком1 - ком3
    ком1 - ком4
    и тд.
    PHP:
     $cmd = array('a1''b2''c3''d4''e5''f6');
    $n "\n";

    for(
    $a 0$a sizeof($cmd); $a++)
    for(
    $b 0$b sizeof($cmd); $b++)
    {
    if(
    $a == $b) continue;
    echo 
    $cmd[$a].' (дома) - '.$cmd[$b].' (в гостях)'.$_n;
    }  
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    namak Получится как то так:
    PHP:
    <?PHP

    function print_table($arr)
    {
        foreach(
    $arr as $key => $val)
        {
            echo 
    $key.' (дома) - '.$val." (в гостях)\n";
        }
    }

    $cmd = array('a1''b2''c3''d4''e5''f6'); 
    $arr_len count($cmd);
    if (
    $arr_len != 0) die('Количество команд должно быть равным');
    $left array_slice($cmd0$arr_len 2);
    $right array_slice($cmd$arr_len 2);

    for(
    $i 0$i <= ($arr_len/2) -1$i++)
    {
        
    array_unshift($rightarray_pop($right));
        
    print_table(array_combine($left$right));
        echo 
    "===========\n";
    }
     
    _________________________
    1 person likes this.