Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Не понимаю я этого :’(

#1 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 08 Май 2009 - 20:50

Вот учусь дальше, но вот фигня, уже второй код с книги переписал, не понимаю что я там на карякал :P Думаю смысл с этого что я перепечатываю книгу, решил тут спросить, ато типа истерика-депрессия, аж слезы на глаза накатываются :P
Вообщем, что это за фигня, что это я перепечатал?
<?php
function array_param($Arr)
{
$max=$min=$Arr[0];
$max_ind=$min_ind=0;
$avg=0;

foreach($Arr as $k=>$v)
  {
if ($max < $v) {$max=$v; $max_ind=$k;}
if ($min > $v) {$min=$v; $min_ind=$k;}
$avg = $avg + $v;
  }

$avg = $avg / count($Arr);

$Res[]=$max_ind;
$Res[]=$min_ind;
$Res[]=$avg;
return $Res;
}

for ($i=0; $i<10; $i++)
$Arr[]=$i;

foreach (array_param($Arr) as $v) echo "$v";
?>

 

 

  • 0


#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 08 Май 2009 - 23:23

<?php



// функция отыскания в заданном одномерном массиве цифр (минимум, максимум, среднее значение всех величин)

function array_param($Arr)

{

$max = $min = $Arr[0]; // создаём переменные min и max и заносим в них значения 0-го элемента массива

$max_ind=$min_ind=0; // индексы тоже нулевые

$avg=0; // это что-то пока не известное мне



/* цикл обходит весь массив, который передан в функцию. $k - текущий ключ, $v - текущее значение */

foreach($Arr as $k=>$v)

{

   if ($max < $v) {$max=$v; $max_ind=$k;} // если последнее максимальное < текущего, заносим текущее как max

   if ($min > $v) {$min=$v; $min_ind=$k;}  // если последнее минимальное > текущего, заносим текущее как min

   $avg = $avg + $v; // суммируем в переменную $avg все значения массива

}



$avg = $avg / count($Arr); //среднее значение(сумма/число_элементов)



   $Res[]=$max_ind; // заносим в конец массива(в данном случае в $Res[0]) индекс максимального

   $Res[]=$min_ind; // заносим в конец массива(в данном случае в $Res[1]) индекс минимального

   $Res[]=$avg; // заносим в конец массива(в данном случае в $Res[2]) среднее значение

   return $Res; //Возвращаем массив $Res = array(индекс_максимального, индекс_минимального, среднее_значение)

}



/* ТЕСТОВАЯ ПРОГРАММА */



for ($i=0; $i<10; $i++)

   $Arr[]=$i; // заносим в массив $Arr по очереди значения с 0 по 9



/* array_param($Arr) возвращает массив из 3 элементов (max, min, avg) */

foreach (array_param($Arr) as $v) // обходим  по очереди в цикле все 3 значения

   echo $v; // печатаем текущее значение

?>

  • 0


Оформление форума – IPBSkins.ru