Задача 12

Список задач

Даны два массива по 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);
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)