Задача 14
Primary tabs
Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"
$b = [12, 5, 17, 6, 4];Решите эту задачу двумя способами:
1. Без использования in_array()
2. С использованием in_array() (что проще)
<?php function createRandArr($size) // создание массива случайных чисел { $array = []; for ($i = 0; $i < $size; $i++) { $array[$i] = rand(1, 20); } return $array; } function showArr($array) // распечатка массива в строку { foreach ($array as $value) { echo " {$value} |"; } echo '<br>'; } /**********Функция без in_array()**********/ function getUniqNum($first, $second) { $uniqArr = []; // массив уникальных элементов $uniq = true; //уникальность элемента foreach ($first as $firstVal) { $uniq = true; foreach ($second as $secondVal) { if ($firstVal == $secondVal) { $uniq = false; break; } } if ($uniq) { $uniqArr[] = $firstVal; } } return $uniqArr; } /**********Функция с in_array()**********/ function inArray($first, $second) { $uniqArr = []; foreach ($first as $value) { if (!in_array($value, $second)) { $uniqArr[] = $value; } } return $uniqArr; } $arr1 = createRandArr(10); //создаем два массива $arr2 = createRandArr(10); echo 'Исходные массивы: <br>';// выводим два исходных массива showArr($arr1); showArr($arr2); $uniq1 = getUniqNum($arr1, $arr2); // выбираем уникальные элементы $uniq2 = inArray($arr1, $arr2); echo 'Массивы уникальных: <br>'; //выводим массивы уникальных showArr($uniq1); showArr($uniq2);
- Log in to post comments
- 643 reads
vedro-compota
Sun, 11/21/2021 - 13:33
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)