Алогритм

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 % 2 != 0) die('Количество команд должно быть равным');
    $left = array_slice($cmd, 0, $arr_len / 2);
    $right = array_slice($cmd, $arr_len / 2);

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