За последние 24 часа нас посетили 68706 программистов и 11279 роботов. Сейчас ищут 2410 программистов ...

Сортировка

Тема в разделе "PHP для новичков", создана пользователем pijama, 19 дек 2017.

  1. pijama

    pijama Новичок

    С нами с:
    12 дек 2017
    Сообщения:
    2
    Симпатии:
    0
    В одномерном массиве, состоящем из n вещественных элементов, вычислить:
    произведение положительных элементов массива; сумму элементов массива, расположенных до минимального элемента. Упорядочить по возрастанию отдельно элементы, стоящие на четных местах.
    Пожалуйста помогите сделать сортировку:
    <?
    $S=1;
    $name=array (3.5,-1.7,5.1,7.4,6.1);
    for ($i=0;$i<count($name);$i++)
    {
    if($name[$i] > 0)
    {
    echo $name[$i].' | ';
    $S=$S*$name[$i];
    }
    }
    echo "произведение положительных чисел" . $S;
    print "<br>";
    ?>
    <?php

    $name=array (3.5,-1.7,5.1,7.4,6.1);
    $sum = 0; $currSum = 0; $minElem = $name[0];
    for ($i = 0; $i < count($name) - 1; $i++)
    {
    $currSum += $name[$i];
    if($name[$i + 1] < $minElem)
    {
    $minElem = $name[$i + 1];
    $sum = $currSum;
    }
    }
    echo "сумма до минимального элемента составляет" . $sum;
    ?>
     
  2. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Подразумевается до элемента который вернет min($array)?

    Это числа с плавающей запятой?

    PHP:
    1. $name=array (3.5,-1.7,5.1,7.4,6.1);
    2. echo '<p>До сортировки</p>';
    3. echo '<pre>';
    4. print_r($name);
    5. echo '</pre>';
    6.  
    7.  
    8. echo '<p>Берем только четные элементы</p>';
    9. $new_array = [];
    10. $i = 0;
    11. foreach ($name as $element)
    12. {
    13.     if (($i % 2) === 0) {
    14.         $new_array[] = $element;
    15.     }
    16.     $i++;
    17. }
    18. echo '<pre>';
    19. print_r($new_array);
    20. echo '</pre>';
    21.  
    22.  
    23. asort($new_array);
    24. echo '<p>После сортировки (ничего не меняется, т.к. в текущем массиве они и так отсортированы)
    25. </p>';
    26. echo '<pre>';
    27. print_r($new_array);
    28. echo '</pre>';
     
    #2 Walk, 19 дек 2017
    Последнее редактирование: 19 дек 2017