За последние 24 часа нас посетили 52570 программистов и 1799 роботов. Сейчас ищут 907 программистов ...

Реально ли на PHP такое?

Тема в разделе "Прочие вопросы по PHP", создана пользователем lawr, 16 окт 2010.

  1. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    Доброго времени суток всем. На форуме не нашел.А может и плохо искал, тогда ткните носом. Есть некая матрица(или не матрица) 3*3.Как вывести на экран все возможные варианты ее заполнения по принципу занята одна ячейка в строке и одна в столбце. например(X-ячейка занята, 0-свободна):
    0X0
    X00
    00X
    или
    00X
    0X0
    X00
    и тд и тп. Если честно даже не соображаю куда смотреть надо.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    lawr
    в учебник тервер
     
  3. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    А при чем тут теория вероятности? Мне не нужен шанс. Мне надо вывести все возможные варианты.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    lawr
    а при том что шанс выводится из отношения желанных вариантов ко всем возможным. =) И на первом же уроке там все формулы даны.
     
  5. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    никто так и не подскажет как реализовать такое?


    РS. а почему с операмини не пускает?
     
  6. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    никто так и не подскажет как реализовать такое?


    РS. а почему с операмини не пускает?
     
  7. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    никто не подскажет. Это надо в раздел фриланс или самому думать..
     
  8. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
  9. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1. <?php
    2. for ($x=0;$x<3;$x++){
    3.   for ($y=1;$y<3;$y++){
    4.     $a = $x;
    5.     $b = ($x+$y) % 3;
    6.     $c = (($b+1) % 3) != $a ? (($b+1) % 3) : (($b+2) % 3);
    7.     echo "$a:$b:$c<br>";
    8.   }
    9. }
    10. ?>
    выводит в виде чисел позицию клеток для каждой из строк
     
  10. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    Gromo

    Немного не то, но идею я начинаю понимать.
    надо примерно вот как (не код, а вывод), но в коде рандом ,а надо математически.А как я не знаю((

    PHP:
    1. <?
    2. $var[0]="0 x 0";
    3. $var[1]="x 0 0";
    4. $var[2]="0 0 x";
    5. for ($b=1;$b<=10;$b++)
    6. {
    7.     echo $b."<br>";
    8.     $b++;
    9.     for ($a=1;$a<=4;$a++)
    10. {
    11.     $q=rand(0,2);
    12. echo "$var[$q]<br>";
    13. };
    14.  
    15. };
    16. ?>
     
  11. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    igordata
    ты имел в виду формулы комбинаторики?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ensiferum
    я не помню как это называется, но возможно
     
  13. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    слепой? или айкью не достаёт? дал же готовое решение!
    неужели трудно дописать пару строчек?

    PHP:
    1. <?php
    2.  $var = array();
    3.  $var[0]="x 0 0";
    4.  $var[1]="0 x 0";
    5.  $var[2]="0 0 x";
    6.  
    7. for ($x=0;$x<3;$x++){
    8.   for ($y=1;$y<3;$y++){
    9.     $a = $x;
    10.     $b = ($x+$y) % 3;
    11.     $c = (($b+1) % 3) != $a ? (($b+1) % 3) : (($b+2) % 3);
    12.     echo $var[$a].'<br>';
    13.     echo $var[$b].'<br>';
    14.     echo $var[$c].'<br>';
    15.     echo '<br>';
    16.   }
    17. }
    18. ?>
    P.S. не обижайся, я просто немного раздражён
     
  14. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ну вот, и ты влился в коллектив форума.
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Велкам! =)
     
  16. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Apple
    мда... признаю, что вначале было сочувствие, теперь раздражение.
    что ждёт дальше? =D

    igordata
    благодарю, теперь можно гордиться :)
     
  17. lawr

    lawr Активный пользователь

    С нами с:
    24 июл 2009
    Сообщения:
    24
    Симпатии:
    0
    Разобрался. Спасибо. Просто сначала написал в форуме, а потом начал думать. Всем спасибо за внимание.
    И еще очень интересно. как изменить матрицу на 3*4 и как получить вариант
    00X
    00X
    X00
    X00?
     
  18. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    lawr
    "Эллипс - это круг, вписанный в квадрат 3x4" (с) армейские маразмы ;)
    Задача о ладьях имеет смысл только для квадратной доски.
     
  19. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Забавная фраза =))
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Забавная фраза (с) Тыблокин