Задача 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
- 1000 reads
vedro-compota
Sun, 11/21/2021 - 13:32
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)