Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> время ожидания истекло... ((, скрипт для расчёта комбинаций С 
V
    Опции темы
beShur
  Дата 30.3.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.3.2007

Репутация: нет
Всего: нет



Добрый день!

не спрашивайте зачем, но вот сел написать скрипт для расчёта комбинаций С - для решения задач по теории вероятностей.

С = n!/m!*(n-m)

по скрипт почему-то не работает ((
через форму ПОСТом передаются значения $n, $m:

Код

$n = $_POST['n'];
$m = $_POST['m'];

function fact($a) {   // импровизированная функция для расчёта факториала
    if ($a > 0) {
        for ($i=1; $i <= $a; $i++) {
            $a = $a*$i;
        }
    } else {
        echo "Аргумент должен быть больше 0";
    }
}

if (empty($n) || empty($m)) {

        $error="Поля  не заполнены";

    } elseif ($n < $m) {

        $error = "Ошибка в значении m или n";
    } else {

        $answer = 1;

        $up = fact($n);

        $down = $fact($m)*($n-$m);
        $answer = $up/$down;
        //echo $answer;

}


что не так?

спасибо!

Это сообщение отредактировал(а) beShur - 30.3.2008, 12:29
PM MAIL WWW   Вверх
Wolf1994
Дата 30.3.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 7
Всего: 29



Во первых, функция fact не возвращает результатов - "return $a".
Во-вторых, у Вас создан цикл с ростом точки завершения в арифметической прогрессии - он не может быть завершён. Попробуйте указывать в описании цикла:

Код

$ai=$a;
for ($i=1; $i <= $ai; $i++)
{
 $a = $a*$i;

PM MAIL WWW   Вверх
beShur
Дата 30.3.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.3.2007

Репутация: нет
Всего: нет



Цитата(Wolf1994 @ 30.3.2008,  12:37)
Во первых, функция fact не возвращает результатов - "return $a".
Во-вторых, у Вас создан цикл с ростом точки завершения в арифметической прогрессии - он не может быть завершён. Попробуйте указывать в описании цикла:

Код

$ai=$a;
for ($i=1; $i <= $ai; $i++)
{
 $a = $a*$i;

спасибо! всё заработало!))

получилось вот так _http://beshur.net/tmp/teorver.php, если кому вдруг нужно/интересно

Это сообщение отредактировал(а) beShur - 1.4.2008, 15:29
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.