Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 06.10.2017
Сообщений: 86

Не выводит данные в таблицу

04.01.2019, 17:32. Показов 678. Ответов 2

Студворк — интернет-сервис помощи студентам
Коды все приложу. Проблема в том, если задействован IsInCircle, то орет Parse Error туда, а если закомментирую, то долго грузит и в итоге в ошибку высыпает.
Файл index.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>MonteCarlo</title>
<link rel="stylesheet" type="text/css" href="style.css" >
<script type="text/javascript" src="jquery.js"> </script>
 
<script>
$(document).ready(function(){
    $("a").click(function(){
    var vars = "";
    if(this.innerHTML == "Вычислить"){     
    vars = $("#form").serialize();
    }else{
        vars = "Ax=15&Bx=10&Ay=0&By=5";
    }                 
         $.ajax({
                            type: "POST",
                            url: "calc.php",
                            data: vars,
                            beforeSend: function(){
                                echo '$_POST["Ax"], $_POST["Ay"], $_POST["Bx"], $_POST["By"]';
                            $("#ans").html("<img src='load.gif' style='width: 100px'/>");
                        },                      
                            success: function(data) {
                                $("#ans").html(data);
                            }
                        });     
    });
});
</script>
</head>
<body>
<div id="header"><p class="title">Метод Монте-Карло</p></div>
<div class="iMage">Исходное изображение<br/> <img src="1.png"/></div>
<div id="form_div">
    <form action="#" method="POST" id="form">
    <table>
        <tr>
        <td></td>
        <td>X</td>
        <td>Y</td>
        </tr>
        <tr>
        <td>D</td>
        <td><input class = "XY" name ="Ax"/></td>
        <td><input class = "XY" name ="Bx"/></td>
        </tr>
        <tr>
        <td>E</td>
        <td><input class = "XY" name ="Ay"/></td>
        <td><input class = "XY" name ="By"/></td>
        </tr>
    </table>
    <!--<input type="submit" id="submit" value="Рассчитать площадь">-->
    <div class="button"><a href="#">Рассчитать площадь</a></div>
        <div class="button"><a href="#">Контрольный пример</a></div>
    </form>
</div>
<br/>
<div id="ans"></div>
</body>
</html>
Файл calc.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?php
if(isset($_POST["Ax"])){
 
            $W = new Point($_POST["Ax"]-$_POST["Bx"], $_POST["By"]); 
            $D = new Point($_POST["Ax"], $_POST["Ay"]);
            $E = new Point($_POST["Bx"], $_POST["By"]);
            $F = new Point($_POST["Ax"]-$_POST["Bx"], $_POST["Ay"]);
            $C = new Point($_POST["Ax"], $_POST["By"]);
            $O = new Point($_POST["Bx"], $_POST["Ay"]);
            
            $R = ($E->Y - $O->Y) / 4;
            
                $a = $W->Y - $F->Y;
                $b = $C->X - $W->X;
                
                $square = $a * $b; 
 
                
                $WF = sqrt(pow($W->X - $F->X))+(pow($W->Y - $F->Y));
                $FD = sqrt(pow($F->X - $D->X))+(pow($F->Y - $D->Y));
                $EO = sqrt(pow($E->X - $O->X))+(pow($E->Y - $O->Y));
                $FO = sqrt(pow($F->X - $O->X))+(pow($F->Y - $O->Y));
                
                $rctngl = $WF * $FD; //rectangle
                $trngl = ($EO * $FO) / 2; //triangle
                $crcl = (3.14 * pow($R, 2)) /4; //circle
                
                $squareF =  Square($trngl, $crcl); // площадь фигуры
                echo 'Общая площадь : '.$squareF.'  <br/>'; 
                $k = 0;
                $fori = 100;
             echo '<div class="CSSTableGenerator" >
                <table >
                    <tr>
                        <td>
                            Кол-во испытаний
                        </td>
                        <td >
                           Кол-во попавших точек
                        </td>
                        <td>
                            Площадь фигуры
                        </td>
                        <td>
                            Погрешность, %
                        </td>
                        <td>
                            Время, мс
                        </td>
                    </tr>
               ';
            
                while ($k < 5)
               {
         $vremiya_starta = microtime(true);
                    $inF = 0; $outF = 0;
                   for ($i = 0; $i < $fori; $i++)
                    {
                        $x = random_float($F->X,$C->X);
                        $y = random_float($D->Y,$E->Y);
                           
                        if (IsInFigure($x,$y,$D,$E,$F))
                        {
                            $inF++;
                        }
                        else
                        {
                            $outF++;
                        }
                    }
                      
                   $s = $square * ($inF / $fori);
                   
                    $vremya_okonchaniya = microtime(true);
                    $vremya = $vremya_okonchaniya - $vremiya_starta;
                    $vremya = round($vremya*1000);
                   echo '<tr>
                        <td>'.
                            $fori.'
                        </td>
                        <td >'.
                          $inF.'
                        </td>
                        <td>'.
                            $s.'
                        </td>
                        <td>
                        '.round((Different($trngl, $crcl, $s)),4).'
                        </td>
            <td>'.
                           ($vremya).'
                        </td>
                    </tr>';
                 
                    $k++;
                    $fori *= 10;
                }
                echo ' </table>
            </div>';
}
class Point{
    var $X;
    var $Y;
    
    function __construct($X, $Y){
    $this->X = $x;
    $this->Y = $y;
    }
}
function random_float ($min,$max) {
   return ($min+lcg_value()*(abs($max-$min)));
}
 
    function IsInFigure($x, $y, $D,$E,$F,$P)
        { 
            if ($P < $E->X)
            {
                if (IsInTriangle($P))
                return true;
            else
                if (IsInCircle($P))
                    return true;
            }
            return false;
        }
    
    function IsInCircle($X, $Y, $E, $O)
        {  
            Point vect = new Point();
            vect.X = $E->X - $P-X;
            vect.Y = $O->Y - $P-Y;
            $R = $E->Y - $P->Y;
            $Q->X = pow(vect.X, 2); $Q->Y = pow(vect.Y, 2);
            $vect_length = sqrt($Q->X + $Q->Y);
            if ($vect_length <= $R)
                return true;
            return false;   
        }
        
        function IsInTriangle($X, $Y, $E, $F, $O)
        {
           $E = ($F->X - $P->X) * ($E->Y - $F->Y) - ($E->X - $F->X) * ($F->Y - $P->Y);
           $F = ($E->X - $P->X) * ($E->Y - $E->Y) - ($F->X - $E->X) * ($E->Y - $P->Y);
           $O = ($F->X - $P->X) * ($F->Y - $E->Y) - ($F->X - $F->X) * ($F->Y - $P->Y);
           return (($E >= 0 && $F >= 0 && $O >= 0) || ($E <= 0 && $F <= 0 && $O <= 0));
        }
        
        function Square($r, $d, $e, $f, $o)
        {
            $Rc = (3.14 * pow($R, 2)) /4;
            $p = ($EO * $FO) / 2;
            $Rt = $WF * $FD;
            return $Rc + $p;
        }
function Different($r, $d, $e, $f, $o, $nowS)
{
$Rc = (3.14 * pow($R, 2)) /4;
            $p = ($EO * $FO) / 2;
            $Rt = $WF * $FD;
return abs((($Rc + $p) - $nowS)/($Rc + $p));
}
?>
Добавлено через 1 час 39 минут
в calc.php исправил на что орало, осталось зацикливание. Где оно происходит - не могу понять
Исправленная часть кода в calc.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function IsInCircle($X, $Y, $E, $O)
        {  
            $array = array(
            x = $E->X - $P-X;
            y = $O->Y - $P-Y;
            );
            /*Point vect = new Point();
            vect.X = $E->X - $P-X;
            vect.Y = $O->Y - $P-Y;*/
            $R = $E->Y - $P->Y;
            $Q->X = pow(x, 2); $Q->Y = pow(y, 2);
            $vect_length = sqrt($Q->X + $Q->Y);
            if ($vect_length <= $R)
                return true;
            return false;   
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2019, 17:32
Ответы с готовыми решениями:

Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу
Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу. Офісні пакети ...

Матрицы.Не выводит данные во вторую таблицу
2. Матрица A состоит из 7 строк и 9 столбцов. Найти значение максимального по модулю элемента и разделить на него каждый элемент...

Написать подпрограмму, которая выводит данные записи в таблицу определёнными форматами
Здравствуйте! У меня возникла проблема с передачей структуры в функцию. Задача: прочитать из файла число N, а потом N записей;...

2
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
04.01.2019, 18:50
killerofsoul, а что это такое?
PHP
1
$P-X;
Может так? $P->X

Добавлено через 1 минуту
Вывод ошибок включен? Fatal error должен был вылезти.

Массив Вы здорово наполнили...
PHP
1
2
3
4
$array = array(
            'x' => '$E->X - $P-X',
            'y' => '$O->Y - $P-Y'
            );

Не по теме:


killerofsoulbrain ))

0
0 / 0 / 2
Регистрация: 06.10.2017
Сообщений: 86
04.01.2019, 21:35  [ТС]
Пифагор, я с php работаю второй раз и не знаю точно как правильно сделать, чтобы на одну координату писалось одно значение, а на другую - другое

Добавлено через 31 секунду
А в целом если есть что-то явное, то выводил, а потом браузер долго думал и крашился
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2019, 21:35
Помогаю со студенческими работами здесь

Разработать программу, которая вводит фактические данные из таблицы и выводит на экран таблицу
Помогите сделать это задание(желательно в Visual Studio). 1. Разработать программу, которая вводит фактические данные из таблицы и...

в одной форме ввожу данные об ученике выводится результат со второй формы но не выводит данные с перовой форм
Тут такая проблема в одной форме ввожу данные об ученике на второй форме есть программа для тестирования в конце выводится результат со...

Как в php сделать поиск? Вводить данные, нажимать на кнопку, скрипт по базе ищет данные и выводит
Можно ли в php сделать поиск? Вводить данные например, нажимать на кнопку и он по базе ищет эти данные и выводит И подскажите...

В form1 открыть таблицу Excel, куда вносить данные, а в form2 - таблицу с уже рассчитанными показателями
Всем доброго времени суток. Имеется файл екселя в котором есть таблицы в которые заносятся данные и таблицы в которых считаются...

Сохранить из формы данные в таблицу, при том чтобы данные добавлялись а не заменялись
Здравствуйте. Нужно сохранить из формы данные в таблицу при том чтобы данные добавлялись а не заменялись)) и еще одна проблемка не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru