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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметров из формы 
V
    Опции темы
Dmi3ev
Дата 9.12.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Проверка магичности квадрата 3х3.</title>
</head>
<body>
<form method="POST">
    <p align="left">  
<input type="text"   name="a1" size="7" class="text" maxlength="7" value="<?php echo $_POST['a1'];  ?>" >
<input type="text"   name="a2" size="7" class="text" maxlength="7" value="<?php echo $_POST['a2'];  ?>" >
<input type="text"   name="a3" size="7" class="text" maxlength="7" value="<?php echo $_POST['a3'];  ?>" >
<br />
<input type="text"   name="b1" size="7" class="text" maxlength="7" value="<?php echo $_POST['b1'];  ?>" >
<input type="text"   name="b2" size="7" class="text" maxlength="7" value="<?php echo $_POST['b2'];  ?>" >
<input type="text"   name="b3" size="7" class="text" maxlength="7" value="<?php echo $_POST['b3'];  ?>" >
<br />
<input type="text"   name="c1" size="7" class="text" maxlength="7" value="<?php echo $_POST['c1'];  ?>" >
<input type="text"   name="c2" size="7" class="text" maxlength="7" value="<?php echo $_POST['c2'];  ?>" >
<input type="text"   name="c3" size="7" class="text" maxlength="7" value="<?php echo $_POST['c3'];  ?>" >
<br /><br />
      <input type="submit" name="submit" value="submit" />
      
</form> 
<br /><br />
<?php
      
if ( $_POST['submit']=="submit" )
{
    $nums=array(array()); //так надо?
    $nums[0][0] = $_POST['a1'] ;
    $nums[0][1] = $_POST['a2'] ;
    $nums[0][2] = $_POST['a3'] ;
  
    $nums[1][0] = $_POST['b1'] ;
    $nums[1][1] = $_POST['b2'] ;
    $nums[1][2] = $_POST['b3'] ;
    
    $nums[2][0] = $_POST['c1'] ;
    $nums[2][1] = $_POST['c2'] ;
    $nums[2][2] = $_POST['c3'] ;
    
    
    $sum_str = array();
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      for ( $j = 0; $j < count( $nums[ $i ] ); $j++ )
       {
        $sum_str[ $i ] =$sum_str[ $i ]+$nums[ $i ][ $j ];
       }
      echo "<br /> сумма в строке: $sum_str[$i] <br />";
     }
    
   $sum_col=array();
   for ( $i = 0; $i < count( $nums ); $i++ )
    {
     for ( $j = 0; $j < count( $nums[ $i ] ); $j++ )
      {
        $sum_col[ $i ] = $nums[ $j ][ $i ]+$sum_col[ $i ];
      }
     echo " <br /> сумма в столбце: $sum_col[$i] <br />";  
    }
    
    $sum_d1=0;
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      $sum_d1=$sum_d1+$nums[ $i ][ $i ];
     }
    
    $sum_d2=0;
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      $sum_d1=$sum_d1+$nums[$i][ count( $nums )-($i+1)];
     }
     $mybool=1;
     for ( $i = 0; $i < count( $nums ); $i++ )
      { 
       if (!(($sum_str[ $i ]==$sum_col[ $i ] && $sum_col[ $i ]==$sum_d1 && $sum_col[ $i ]=$sum_d1)))
               $mybool=0;
      }
    if ($mybool==1) echo "Квадрат магический <br /> Магическая константа: $sum_d1" ;
    if ($mybool==0) echo "Квадрат не магический"  ;
    
}
 
?>
</body>
</html>

что не так? как исправить? даже массив не задаётся? реализовать помогите... До завтра должен управиться... Модифицировал первую программу про максимум и минимум, а тут застрял... Подтолкните

Это сообщение отредактировал(а) Dmi3ev - 9.12.2008, 20:48


--------------------

PM MAIL   Вверх
destrd
Дата 9.12.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну для начала проходите массив с 1, раз вы элементы присваеваете с 1.

--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Dmi3ev
Дата 9.12.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



destrd, да, да, да, просто я тут дописал массив. а в остальном?

Добавлено через 1 минуту и 40 секунд
подправил уже



--------------------

PM MAIL   Вверх
NLspieler
Дата 9.12.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А чем тебя мое решение не устраивает?

Цитата

   
Код

$nums=array(array()); //так надо?


Эту строку можно удалить.

Переделай этот кусок, php любит считать с нуля.
Код

    $nums[0][0] = $_POST['a1'] ;
    $nums[0][1] = $_POST['a2'] ;
    $nums[0][2] = $_POST['a3'] ;
  
    $nums[1][0] = $_POST['b1'] ;
    $nums[1][1] = $_POST['b2'] ;
    $nums[1][2] = $_POST['b3'] ;
    
    $nums[2][0] = $_POST['c1'] ;
    $nums[2][1] = $_POST['c2'] ;
    $nums[2][2] = $_POST['c3'] ;



PM MAIL   Вверх
destrd
Дата 9.12.2008, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А что конкретно то не работает? На первый взгляд всё работает. Параметры передаются, что-то считается.
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Dmi3ev
Дата 9.12.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      $f=count( $nums )-$i-1; 
      $sum_d1=$sum_d1+$nums[$i][$f];
     }
    echo " <br /> сумма во второй диагонали: $sum_d2";

вот это
я не понимаю count ($nums) - это количество строк или что?
просто в формуле я задаю диагональ вторую. первая [$i][$i] а вторая [$i] ["количество строк"-$i-1]

Добавлено через 1 минуту и 49 секунд
а туплю, погодите, сейчас исправлю, должно получиться



--------------------

PM MAIL   Вверх
Dmi3ev
Дата 9.12.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Проверка магичности квадрата 3х3.</title>
</head>
<body>
<form method="POST">
    <p align="left">  
<input type="text"   name="a1" size="7" class="text" maxlength="7" value="<?php echo $_POST['a1'];  ?>" >
<input type="text"   name="a2" size="7" class="text" maxlength="7" value="<?php echo $_POST['a2'];  ?>" >
<input type="text"   name="a3" size="7" class="text" maxlength="7" value="<?php echo $_POST['a3'];  ?>" >
<br />
<input type="text"   name="b1" size="7" class="text" maxlength="7" value="<?php echo $_POST['b1'];  ?>" >
<input type="text"   name="b2" size="7" class="text" maxlength="7" value="<?php echo $_POST['b2'];  ?>" >
<input type="text"   name="b3" size="7" class="text" maxlength="7" value="<?php echo $_POST['b3'];  ?>" >
<br />
<input type="text"   name="c1" size="7" class="text" maxlength="7" value="<?php echo $_POST['c1'];  ?>" >
<input type="text"   name="c2" size="7" class="text" maxlength="7" value="<?php echo $_POST['c2'];  ?>" >
<input type="text"   name="c3" size="7" class="text" maxlength="7" value="<?php echo $_POST['c3'];  ?>" >
<br /><br />
      <input type="submit" name="submit" value="submit" />
      
</form> 
<br /><br />
<?php
      
if ( $_POST['submit']=="submit" )
{
    $nums=array(array());
    $nums[0][0] = $_POST['a1'] ;
    $nums[0][1] = $_POST['a2'] ;
    $nums[0][2] = $_POST['a3'] ;
  
    $nums[1][0] = $_POST['b1'] ;
    $nums[1][1] = $_POST['b2'] ;
    $nums[1][2] = $_POST['b3'] ;
    
    $nums[2][0] = $_POST['c1'] ;
    $nums[2][1] = $_POST['c2'] ;
    $nums[2][2] = $_POST['c3'] ;

    
    $sum_str = array();
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      for ( $j = 0; $j < count( $nums[ $i ] ); $j++ )
       {
        $sum_str[ $i ] =$sum_str[ $i ]+$nums[ $i ][ $j ];
       }
      echo "сумма в строке $i: $sum_str[$i] <br />";
     }
    
   $sum_col=array();
   for ( $i = 0; $i < count( $nums ); $i++ )
    {
     for ( $j = 0; $j < count( $nums[ $i ] ); $j++ )
      {
        $sum_col[ $i ] = $nums[ $j ][ $i ]+$sum_col[ $i ];
      }
     echo " <br /> сумма в столбце $i: $sum_col[$i]";  
    }
    
    $sum_d1=0;
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      $sum_d1=$sum_d1+$nums[ $i ][ $i ];
     }
    echo " <br /> сумма в первой диагонали: $sum_d1"; 
    $sum_d2=0;
    for ( $i = 0; $i < count( $nums ); $i++ )
     {
      $f=count( $nums )-$i-1; 
      $sum_d2=$sum_d2+$nums[$i][$f];
     }
    echo " <br /> сумма во второй диагонали: $sum_d2"; 
     $mybool=1;
     for ( $i = 0; $i < count( $nums ); $i++ )
      { 
       if (!(($sum_str[ $i ]==$sum_col[ $i ] && $sum_col[ $i ]==$sum_d1 && $sum_col[ $i ]=$sum_d1)))
               $mybool=0;
      }
    if ($mybool==1) echo "<br /><marquee><font color="#FF0000" size="+6">Квадрат магический <br /> Магическая константа: $sum_d1</font></marquee>" ;
    if ($mybool==0) echo "<marquee><marquee><font color="#FF0000" size="+6">Квадрат не магический</font></marquee>"  ;
    
}
 
?>
</body>
</html>

че-то я затупил, но все получилось, вот то, что я хочу накалякал
http://test.dmi3ev.tu2.ru/
результат здесь можно посмотреть)))

Добавлено через 3 минуты и 21 секунду
1. еще один вопрос, а как мне сделать динамический массив, те, что форма будет содержать nХn таких полей.
2. подскажите, как инициализировать массив не тупо как я, а вцикле. я просто пробовал, но меня хватило только на это, и то я взял за основу работу NLspieler.

Добавлено через 5 минут и 29 секунд
только переделал подсчет на диагоналях вертикалях и горизонталях, потому что, если еще и считал бы складывая элементы массива (не автоматически), то вообще колхоз был бы, а мне надо приложение))) какое ни какое)))


--------------------

PM MAIL   Вверх
Dmi3ev
Дата 9.12.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вообщем, всем спасибо, не дождался, начитался и теперь творю, что хочу, действительно все не так уж сложно с этими массивами и ... просто думал, за один день не смогу, но смог... 


--------------------

PM MAIL   Вверх
bars80080
Дата 10.12.2008, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



смотреть надо за своими темами http://forum.vingrad.ru/index.php?showtopi...t&p=1721468
PM MAIL WWW   Вверх
Dmi3ev
Дата 10.12.2008, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Извините))) Я думал, что в центре помощи тухло, ан нет))) просто я там как-то был, помогал кому-то, че-то там не очень живо было)))
bars80080, я сделал что-то в этом роде, конечно, может не столь профессионально, но... Спасибо, Вы очень помогли...
Я после сессии еще сайт собрался делать хороший, еще встретимся...


--------------------

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0568 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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