Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
|
Добрый вечер. Вот прошу помощи, так как сам уже замучился искать ошибку.
При запуске выдает такое:
Цитата:Fatal error: Cannot redeclare readmat() (previously declared in Z:\home\math.tk\www\inc.php:3) in Z:\home\math.tk\www\inc.php on line 26
index.php
inc.php
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
<?PHP //формирование формы ввода(имя матрицы, значение по-умолчанию, ширина, высота)-- function readmat($matname, $default, $width, $height)//таблица для считывания матрицы { $tab = ''; function default_val($default, $n, $m) { if(is_array($default)) $defval = $default[$n][$m]; else $defval = $default; return $defval; } $tab .= '<table border = "1" align = "center">'; for($i=1; $i<=$width; $i++) { $tab .= '<tr>'."\n"; for($j=1; $j<=$height; $j++) { //проверка значения по-умолчанию на мaсив $value = (!empty($_GET[$matname.$i.$j])) ? $_GET[$matname.$i.$j] : default_val ($default, $i, $j); $tab .= '<td><input type = "number" name = "'.$matname.$i.$j.'" value = "'.$value.'" size = "5"></td>'."\n"; } $tab .= '</tr>'."\n"; } $tab .= '</table>'."\n"; return $tab; } //приводм полученую срань в порядок //формирование масива(содержание формы, имя матрицы, ширина, высота)------------ function srctomat($getmat, $matname, $width, $height) { for($i=1; $i<=$width; $i++) { for($j=1; $j<=$height; $j++) { $mat[$i][$j] = $getmat[$matname.$i.$j]; } } return $mat; } //недопиленый вывод матрицы.******АХТУНГ!****** //формирование таблицы(матрица, ширина, высота)--------------------------------- function printmat($matarr, $width, $height) { $mat = '<table border = "0" align = "center">'; for($i=1; $i<=$width; $i++) { $mat .= '<tr>'."\n"; if($i == 1) { $lines = '<td ROWSPAN='.$height.'><img src = "img/lines.png"></img></td>'."\n"; } else { $lines = ""; } $mat .= $lines; for($j=1; $j<=$height; $j++) { $mat .= '<td align= "right">'.$matarr[$i][$j].'</td>'."\n"; } $mat .= $lines; $mat .= '</tr>'."\n"; } $mat .= '</table>'."\n"; return $mat; } //транспонирование(матрица, ширина, высота)------------------------------------- function transmat($mat, $width, $height) { for($i=1; $i<=$width; $i++) { for($j=1; $j<=$height; $j++) { $trmat[$i][$j] = $mat[$j][$i]; } } return $trmat; } //прибавление матриц(матрица1, матрица2, ширина, высота)------------------------ function matpmat($mat1, $mat2, $width, $height) { for($i=1; $i<=$width; $i++) { for($j=1; $j<=$height; $j++) { $resmat[$i][$j] = $mat1[$i][$j] + $mat2[$i][$j]; } } $res = printmat($resmat, $width, $height); return $res; } function matxnum($mat, $width, $height, $num) { for($i=1; $i<=$width; $i++) { for($j=1; $j<=$height; $j++) { $matxn[$i][$j] = $num * $mat[$i][$j]; } } $res = printmat($matxn, $width, $height); return $res; } //отладочная функция, потом м.б. выпилю! //матрица из случайных чисел()------------------------------------------------- function randmat() { for($i=1; $i<=3; $i++) { for($j=1; $j<=3; $j++) { $randmat[$i][$j] = rand(100 , 999 ); } } return $randmat; } ?>
matpmat.php
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
<?PHP include ("inc.php"); echo "<h1 align = \"center\">Сложение матриц</h1>\n"; <br /><a href = "/trololo.php"><img src = "/sorry.png"></a></center>'; $matname1 = "a"; $matname2 = "b"; if(!isset($_GET[submit])) { echo '<form action = "index.php" method="get">'; echo '<input type= "hidden" name = "i" value = "matpmat">'; $tab = '<center><table><tr><td>'; $tab .= readmat($matname1, '0', 3, 3); $tab .= '</td><td> </td><td>'; $tab .= readmat($matname2, '0', 3, 3); $tab .= '<td><tr><table>'; echo $tab.'<br />'; echo '<center><input type = "submit" value = "Прибавить" name = "submit"> <input type="checkbox" name="sol" value="1" />Решение</center>'; echo '</form>'; echo '<center><a href = "/index.php">На главную</a></center>'."\n"; } else { $mat1 = srctomat($_GET, $matname1, 3, 3); $mat2 = srctomat($_GET, $matname2, 3, 3); $res = matpmat($mat1, $mat2, 3, 3); //вывод решения----------------------------------------------------------------- if($_GET["sol"] == 1) { $sol = '<br /><br /><br /><table align = "center"><tr><td colspan = "7"><h3 align = "center">Решение:</h3></td></tr><tr><td>'.printmat($mat2, 3, 3).'</td><td> + </td>'; $sol .= '<td>'.printmat($mat2, 3, 3).'</td><td>=</td>'; for($i=1; $i<=3; $i++) { for($j=1; $j<=3; $j++) { if($mat2[$i][$j] < 0) $mat2[$i][$j] = '('.$mat2[$i][$j].')'; $solmat[$i][$j] = ' <font color="red">'.$mat1[$i][$j].'</font> + <font color="blue">'.$mat2[$i][$j].'</font> '; } } $sol .= '<td>'.printmat($solmat, 3, 3).'</td><td>=</td>'; $sol .= '<td>'.$res.'</td></tr></table>'; } /*echo '<br /><font color = "red">$mat1:'.print_r($mat1, 1).'</font>'; echo '<br /><font color = "green">$mat2:'.print_r($mat2, 1).'</font>'; echo '<br /><font color = "blue">$_GET:'.print_r($_GET, 1).'</font>'; echo '<br /><font color = "cyan">$resmat:'.print_r($resmat, 1).'</font><br />'; */ echo $res; echo $sol; echo '<br /><center><a href = "/index.php?i=matpmat">Назад</a><br />'."\n"; echo '<a href = "/index.php">На главную</a></center>'."\n"; } ?>
Писал для тренировки, но застопорился маленько...(Отредактировано автором: 09 Октября, 2011 - 22:10:56)
|