Задача 12
Primary tabs
Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).
Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива - сравнение проводите пока не закончится та выборка, которая короче.
Например пусть мы имеем два массива (запишу лишь начальные элементы):
1 | 2 | -10 | 5 | 0 | 12 | 2 | 8 ....
0 | 3 | 4 | 9 | 7 | 5 | -8 | 3.....
для них программа должна вывести:-10 меньше 3 12 больше 9- других сравнений не последует, так как новых из "каждых третьих элементов" в 1-ом массиве больше нет.
<?php
function createRandArr($size) // создание массива случайных чисел
{
$array = [];
for ($i = 0; $i < $size; $i++) {
$array[$i] = rand(-10, 10);
}
return $array;
}
function showArr($array) // распечатка массива в строку
{
foreach ($array as $value) {
echo $value . '|';
}
echo '<br>';
}
function compareArrays($array1, $array2) // сравнение массивов
{
foreach ($array1 as $key1 => $value1) {
if (($key1 + 1) % 3 == 0) { // выбираем индексы каждого 3-го эл.
$key2 = (2 * $key1 - 1) / 3; //индекс для второго массива
if ($key2 < count($array2)) { // если эл. с таким индексом существует
if($value1 > $array2[$key2]) {
echo "{$value1} больше {$array2[$key2]} <br>";
} else if ($value1 < $array2[$key2]) {
echo "{$value1} меньше {$array2[$key2]} <br>";
} else {
echo "{$value1} равно {$array2[$key2]} <br>";
}
} else {
break;
}
}
}
}
$arr1 = createRandArr(20);
$arr2 = createRandArr(20);
showArr($arr1);
showArr($arr2);
compareArrays($arr1, $arr2);
- Log in to post comments
- 1651 reads
vedro-compota
Sun, 11/21/2021 - 13:32
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)