PHP Программа для постоения своеобразного графика из цифр.

Discussion in 'PHP' started by SpRyt, 18 Nov 2010.

  1. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    SpRyt для винды:

    1) Скачать установить интерпретатор http://python.org/ftp/python/2.7.1/python-2.7.1.msi
    2) Скачать скрипт и сохранить с расширением .py
    3) Запустить скрипт из командной строки
     
    _________________________
  2. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Ок, сенкс, А что делать с кодом ПХП? не поможете? Вообще ступор просто...
     
  3. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Вот мой код: http://pastebin.com/qExJSE7p
     
  4. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Алгоритм:
    1. Ставим первую точку "1" посредине
    2. От этой точки ставим точку "2" на заданом расстоянии.
    3. Откладываем "3" точку на заданом расстоянии от первой и от второй
    4. Откладываем "4" точку от "1" "2" "3" и проверям между ними растояния
    5,6,7,8,9 аналогично.
     
  5. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    SpRyt, покажи хоть код, а то я не могу себе представить тот ужас, что ты описал :eek: да и отталкиваться от чего-то надо, ибо твои вопросы наводят на страшные мысли...
    Не уж то ты числовую матрицу (которую можно банально поместить в массивы) перевёл в картинку?
    При том расстояние между элементами (точками (цифрами)) определяется по координатам точек на экране :confused:
    Стандартная функция проверки расстояния между цифрами? Оо могу предложить только $a - $b, но тебе надо что-то другое? :rolleyes:
    >> ( не xочу создать условие если расстояние столько то, то......, а если не, то.....)
    как же без этого? ;)

    у Gifts в подписи есть ссылка "Как правильно задавать вопросы", попробуй почитать, может поможет в начинаниях. Либо чётче ставь вопросы, подкрепляя их своим кодом, своими попытками.

    upd: вот блин, пока писал коммент, ты ещё три успел вставить :cool:

    upd2:
    посмотрел код..
    :eek: :eek: :eek: и ещё сто таких...
    ахтунг!
    с таким кодом.. нафига тебе php? делал бы сразу html
    ты мог задать всё элементарным циклом!
    при том удобнее задавать массивами а не $a1,$a2...$b1,$b2.. :eek:
    жесть!
    открой faq для чайников и читай со второй главы до конца...
     
    #25 roxblnfk, 11 Dec 2010
    Last edited: 11 Dec 2010
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    SpRyt лучше опишите для себя алгоритм решения задачи, пока ваш "код" не имеет никакой программной логики. У меня, к сожалению, пока нет времени переписывать вам код. Пока могу уменьшить ваш текущий кодес до этого:

    PHP:
    <?PHP
    $arr 
    array_fill(0,19array_fill(0,19,0));
    ?><table><?PHP 
    foreach($arr as $row)
    echo 
    '<tr><td>'.implode('</td><td>'$row)."</td></tr>\n";
    ?></table>
    Ну и добавить заголовок для вкуса

    UPD. алгоритм, конечно, еще тот. Я вам намекну, что "разместить число на заданном расстоянии от других" если у вас например уже 3 точки стоит - задача нетривиальная, как минимум, так еще и 3 точки можно разместить достаточно большим количеством способов, что дает нам немалое поле для перебора.
     
    _________________________
    #26 Gifts, 11 Dec 2010
    Last edited: 11 Dec 2010
  7. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Ето ясно, что не имеет, его функциями догружать нужно, это так сказать заготовочка...
    Нужно повторить для себя циклы...
    Можно было и массивом, согласен (массив с 10 по 99 строки) в него будут вводится значения из формы . Я не говорю что мой код рацеонален, это вообще первый мой код на ПХП. Циклы: а разве можно циклами "делать" переменные.... Задача мне с каждым днем кажется все более невыполнимой. Наверное придется показывать училке код написаный Gifts на питоне.
    ЗЫ: Извиняюсь за флуд.
     
    #27 SpRyt, 11 Dec 2010
    Last edited: 11 Dec 2010
  8. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Учи клавиатуру :)
     
  9. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    очень полезный совет для меня, но потерял документацию по клавиатуре, поэтому загадочное колёсико на клаве, которое я так люблю крутить, останется на веки непознанным :p

    по поводу кода: Gifts тебе положил нормальное начало. Используй это!
    Вот смотри, поскольку ты впервые видишь php, то попробую пояснить максимально понятно.

    $arr - массив, ключи начинаются с нуля, элементы содержат ряды твоей матрицы (таблицы, которая в итоге выводится на экран)
    каждый элемент массива $arr - тоже массив, ключи которого начинаются с нуля и обозначают столбец элемента матрицы. /*в это можешь не вдуплять, но пойми то, что ниже*/

    Таким образом левый верхний элемент таблицы:
    $arr[0][0]=$num;
    правый верхний элемент:
    $arr[0][$w-1]=$num; // $w - длина таблицы
    правый нижний элемент:
    $arr[$h-1][$w-1]=$num; // $h - высота таблицы (количество элементов по вертикали)
    любой элемент будет $arr[$y][$x] (думаю пояснять не надо, но стоит учесть, что отсчёт координат начинается с нуля, т.о. первый элемент будет с координатами (0;0) )

    Если геометрию в школе учил, то без проблем вычислишь расстояние между элементами, и всё станет проще, когда обретешь понимание.
     
    #29 roxblnfk, 11 Dec 2010
    Last edited: 11 Dec 2010
  10. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Спасибо! Все ясно :) Попробую сделать.
    PS: нужно хтмл таблицу убирать? Думаю, что нет.
    PS2: про массивы можно было и не обьяснять, и так все знал :)
    PS3: ПХП вижу не впервые, работаю с ним впервые.
    PS4: высоту и длину таблицы прописываем в атрибутах таблицы.
     
    #30 SpRyt, 11 Dec 2010
    Last edited: 11 Dec 2010
  11. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    SpRyt пока Вы не предложили в теме НИЧЕГО конкретного. Не пытайтесь казаться важным, аля, "да я все знаааааю", а потом оказывается, что вы не знаете ничего. Вы усиленно пытаетесь сделать так, чтобы код написали с нуля вместо Вас за спасибо - боюсь, что здесь это не прокатит и Вы все сильнее отбиваете же

    Мой совет - предложите Ваш (словесный алгоритм/алгоритм в псевдокоде/абстракцию алгоритма) решения задачи, причем настолько подробный, чтобы любой человек мог его выполнить на бумажке. Приложите хоть какие нибудь усилия.

    Или же просто закажите платное решение, тут есть много демпингующих кодеров, которым будет интересно решать Вашу задачу за минимальные деньги
     
    _________________________