Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP] Найти максимум и минимум в массиве 
V
    Опции темы
Dmi3ev
Дата 9.12.2008, 14:09 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Не переносите в центр помощи. Просто помогите быстренько.
Задание:
В поле формы вводится одномерный массив (целых чисел), допустим их 10. Как реализовывать ввод неважно. 
1. Необходимо найти максимум и минимум.
2. Среднее арифметическое без учета максимума и минимума.
Вообще не знаком с рнр просто, а разбираться времени нет. На С++ или Perl такое я напишу за 5 минут, а может и быстрее...
Не поленитесь, помогите... Если можно, то пришлите не кусок кода, а полностью, чтобы я кинул это в файл и все закрутилось.


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

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


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



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

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



Код

$a = array(23,546,234,5465,23,567,34,5675);

sort($a, SORT_NUMERIC);

$min = $a[0];

rsort($a, SORT_NUMERIC);

$max = $a[0];

$sum = array_sum($a) - $min - $max;

$sr_arifm = $sum/(count($a) - 2);

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


Эксперт
***


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

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



bars80080, спасибо, но...
Цитата

В поле формы вводится одномерный массив (целых чисел), допустим их 10. Как реализовывать ввод неважно. 

мне нужно полное решение, самому сейчас нет времени разбираться!!! Пожалуйста помогите соседу из С++.

Добавлено через 1 минуту и 20 секунд
и вывод какой-нибудь организовать нужно. Просто надо, чтобы это все в браузере делалось.


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

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


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Создаешь файл index.php, туда кидаешь код, который предложил bars80080:
Код

<?php

$a = array(23,546,234,5465,23,567,34,5675);
sort($a, SORT_NUMERIC);
$min = $a[0];
rsort($a, SORT_NUMERIC);
$max = $a[0];
$sum = array_sum($a) - $min - $max;
$sr_arifm = $sum/(count($a) - 2);

printf( "Минимальный элемент: %d \n<br />\n Максимальный элемент: %d \n<br />\n Среднее арифметическое: %d", $min, $max, $sr_arifm  );

?>


Если выскачат ошибки или будут вопросы - пиши.
PM MAIL WWW ICQ Skype   Вверх
s0lman
Дата 9.12.2008, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


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

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



bars80080, из  любопытства
почему
Код

rsort($a, SORT_NUMERIC);
$max = $a[0];

а не
Код

$max=$a[count($a)-1];

?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Dmi3ev
Дата 9.12.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



не очень айс, хотя почти... с кодировкой чего может не так???
http://www.dmi3ev.tu2.ru/


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

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


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



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

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



вот ты ленивый

Код

<?php
$mas = ''; $res = '';
if(!empty($_POST['mas'])) {
    $mas = preg_replace('/[^0-9,]/', '', $_POST['mas']);
    $a = explode(',', $mas);
    
    sort($a, SORT_NUMERIC);
    $min = $a[0];
    rsort($a, SORT_NUMERIC);
    $max = $a[0];
    
    $res .= 'минимальное значение: '.$min.'<br />';
    $res .= 'максимальное значение: '.$max.'<br />';
    
    $c = count($a);
    if($c < 2) { $res .= 'значений меньше двух<br />'; }
    else {
        $sum = array_sum($a) - $min - $max;
        $sr_arifm = $sum/($c - 2);
        $res .= 'среднее арифметическое для массива без учёта максимального и минимального: '.$sr_arifm.'<br />';
    }
}
?><html><body>
Введите массив значений через запятую:
<form method="post">
<input name="mas" value="<?php echo $mas; ?>" />
<input type="submit" value="send" />
</form>
<?php echo $res; ?>
</body></html>

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


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



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

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



Цитата(s0lman @  9.12.2008,  13:40 Найти цитируемый пост)
bars80080, из  любопытства
почему

а почему нет?

мышление в цикл вошло и автоматом выдало однотипное решение
PM MAIL WWW   Вверх
Dmi3ev
Дата 9.12.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

не очень айс, хотя почти... с кодировкой чего может не так???

поправил, все работает, сейчас залью bars80080-ий вариант. Отпишусь.

Добавлено через 6 минут и 20 секунд
Супер, как я и хотел, чтобы это было... 
http://www.dmi3ev.tu2.ru/
Можете залезть и посмотреть, какой же bars80080 - молодец  smile  smile  smile 
А можно еще одну или это уже наглость???  smile 


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

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


Опытный
**


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

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



Вот полный вариант страницы, 
в поле нужно ввести числа через пробел и нажать на кнопку.

Код

<!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=utf-8" />
<title>Найти минимум и максимум.</title>
</head>

<body>
<form method="POST">
    <p align="left">  
<input type="text"   name="p_1" size="150" class="text" maxlength="150" value="Введите числа через пробел" >
      <input type="submit" name="submit" value="submit" />
      
</form> 
<br />

<?php
      
if ( $_POST['submit']=="submit" )
{
    $a = explode (' ' , trim($_POST['p_1'])) ;
    
    
    sort($a, SORT_NUMERIC);
    $min = $a[0];
    rsort($a, SORT_NUMERIC);
    $max = $a[0];
    $sum = array_sum($a) - $min - $max;
    $sr_arifm = $sum/(count($a) - 2);    
    
    printf( "Минимальный элемент: %d \n<br />\n Максимальный элемент: %d \n<br />\n Среднее арифметическое: %d",$min, $max, $sr_arifm  );      
}
 
?>
</body>
</html>
 
PM MAIL   Вверх
Dmi3ev
Дата 9.12.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



NLspieler, спасибо.
Обнаглею я в конец))) Еще одна задача. Матрица 4х4 или 3х3, разницы нет, надо проверить, является ли она магическим квадратом. Вот с эти потруднее, я на перле только начал недавно, поэтому, как задавать матрицу 3х3 не знаю, а на рнр вообще вариантов нет))) вообщем задача та же:
1. Ввод матрицы 3х3.
2. Проверка, является ли она магическим квадратом (суммы в строках равны суммам в столбцах, равны суммам на диагоналях), думаю это ясно.
Пожалуйста, я знаю, что это не трудно, но правда до завтра все должно быть иначе - *опа.


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

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


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Модератор: Пожалуйста, один топик - один вопрос.
PM MAIL WWW ICQ Skype   Вверх
Dmi3ev
Дата 9.12.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Понято, создаю.

Добавлено через 27 секунд
Aliance, приношу извинения.


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

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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

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


 




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


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

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