|
|||
Задание 5.2. Поиск и замена в одномерном массиве ⇐ ПредыдущаяСтр 8 из 8 Задание 5.2. Поиск и замена в одномерном массиве 1. Дан массив, состоящий из n элементов. Назовём серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Вставить перед каждой серией минимальный элемент массива. 2. Дан массив, состоящий из n элементов. Назовём серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Поменять местами наименьшую последнюю и k-ю серии массива. Если таких серий в массиве меньше k, то вывести массив без изменений. 3. Дан массив, состоящий из n элементов, и число k (0<k<5, k<n). Осуществить циклический сдвиг элементов массива вправо на k позиций. <!DOCTYPE html>
Задание 5.3. Алгоритмы сортировки одномерных массивов 1. Создайте массив, содержащий n различных случайных целых чисел. Содержимое массива сортируется по возрастанию, и после этого определяются минимальный и максимальный элементы массива. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form method = "post"> <label>Введите размер массива(n)</label> <input type="text" name = "n"><br> <input type= "submit"> </form> <?php $arr = array(); $n = $_POST['n']; for ($x=0;$x<=$n;$x++) { $arr[]=rand(1,100); } print_r($arr); echo "<br>"; sort ($arr); print_r($arr); echo "<br>"; $min = null; $min_key = null; $max = null; $max_key = null; foreach($arr as $k => $v) { if($v > $max or $max === null) { $max = $v; $max_key = $k; }
if($v < $min or $min === null) { $min = $v; $min_key = $k; } } echo "Min value: $min <br> Min key: $min_key <br>"; echo "Max value: $max <br> Max key: $max_key"; ?> </body> </html> 2. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую последовательность. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form method = "post"> <label>Введите размер массива(n)</label> <input type="text" name = "n"><br> <input type= "submit"> </form> <?php $arr = array(); $a = array(); $n = $_POST['n']; for ($i = 0; $i < $n; $i++) { $a[$i]=rand(1,100); } for ($j = 0; $j < $n; $j++) { $arr[$j] = $a[$j]; } echo "<br>"; print_r($a); echo "<br>"; rsort($a); print_r($a); echo "<br>"; for ($i = 0; $i < $n; $i++) { for ($j = 0; $j < $n; $j++) { if ($arr[$j] == $a[$i]) echo $j; } } ?> </body> </html> 3. В массиве 2n+1 различных элементов. Найдите средний элемент массива. Под средним элементом понимают такой, для которого в массиве n элементов больше его и n элементов меньше. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form method = "post"> <label>Введите размер массива(n)</label> <input type="text" name = "n"><br> <input type= "submit"> </form> <?php $arr = array(); $n = $_POST['n']; $flag = false; for ($x=0;$x<=2*$n+1;$x++) { $arr[]=rand(1,100); } print_r($arr); echo "<br>"; for ($i=0; $i<=$n;$i++) { for ($j=0; $j<=$n;$j++) { if ($arr[$i] > $arr[$j]) $more++; elseif ($arr[$i] < $arr[$j]) $less++; } if (($more == $n) & ($less == $n)) { $flag = true; $index = $i; } } if ($flag) echo "Средний элемент: $arr[$index]"; else echo "Нет среднего элемента"; ?> </body> </html>
|
|||
|