Учебные задачи для начинающих изучать 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
- 1400 reads