Учебные задачи для начинающих изучать PHP. Задачи 12-14
Primary tabs
Задача 12
Даны два массива по 20 элементов каждый. Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива.
<?php function fillArray($howManyElements) { for ($i=1; $i<=$howManyElements; $i++) { $varArray[$i] = rand(-100, 100); } return $varArray; } function printArray($serialNumber, $varArray) { echo "Это ", $serialNumber, "-й массив<br>"; foreach ($varArray as $value) { echo $value, " "; } echo '<br><br>'; } function compareArrays($N, $array1, $array2) { $i = 3; $j = 2; while (($i<=$N) and ($j<=$N)) { if ($array1[$i] > $array2[$j]) { echo $array1[$i] . ' больше ' . $array2[$j]; } elseif ($array1[$i] < $array2[$j]) { echo $array1[$i] . ' меньше ' . $array2[$j]; } else { echo $array1[$i] . ' равно ' . $array2[$j]; } $i += 3; $j += 2; echo "<br>"; } } $N = 20; $array1 = fillArray($N); $array2 = fillArray($N); printArray(1, $array1); printArray(2, $array2); compareArrays($N, $array1, $array2);
Задача 13
Создайте функцию, которая принимает на вход массив случайных чисел из диапазона [5..12]. Обходит этот массив и делает для каждого элемента следующее:
Если число равно 5, то выведете на экран строку "пять", если 6, то "шесть", если 7, то число "7", иначе строку "какое-то другое число".
<?php function fillArray($howManyElements, $min, $max) { for ($i=1; $i<=$howManyElements; $i++) { $varArray[$i] = rand($min, $max); } return $varArray; } function printArray($varArray) { foreach ($varArray as $value) { echo $value, " "; } echo '<br><br>'; } function task($arr) { echo "Состав нашего массива:<br><br>"; foreach ($arr as $value) { switch ($value) { case 5: echo "пять"; break; case 6: echo "шесть"; break; case 7: echo "семь"; break; default : echo "Какое-то другое число"; break; } echo "<br>"; } } $N = 20; $minElem = 5; $maxElem = 12; $myArray = fillArray($N, $minElem, $maxElem); printArray($myArray); task($myArray);
Задача 14
Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"
<?php function fillArray($howManyElements, $min, $max) { for ($i=1; $i<=$howManyElements; $i++) { $varArray[$i] = rand($min, $max); } return $varArray; } function printArray($varArray, $nameArray) { echo "Массив ", $nameArray, ":<br>"; foreach ($varArray as $value) { echo $value, " "; } echo '<br><br>'; } function task($N, $minElem, $maxElem, $arr) { $b = [12, 5, 17, 6, 4]; echo "СПОСОБ 1 - Без использования in_array():<br>"; foreach ($arr as $valueA) { $flag = false; foreach ($b as $valueB) { if ($valueA == $valueB) { $flag = true; break; } } if ($flag == false) { echo $valueA . " "; } } echo "<br><br>СПОСОБ 2 - С использованием in_array():<br>"; foreach ($arr as $valueA) { if (!in_array($valueA, $b)) { echo $valueA . " "; } } } $N = 10; $minElem = 1; $maxElem = 20; $a = fillArray($N, $minElem, $maxElem); printArray($a, '$a'); task($N, $minElem, $maxElem, $a);
- Log in to post comments
- 906 reads