Задача 14

Задача 14

Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"

$b = [12, 5, 17, 6, 4];

Решите эту задачу двумя способами:

Без использования in_array()(link is external)
С использованием in_array()(link is external) (что проще)

СПОСОБ 1

<?php
function fillingArray(&$arrA, &$arrB)
{
    for ($i = 0; $i < 10; $i++){
        $arrA[$i] = rand(1, 20);
        $arrB[$i] = rand(1, 20);
    }
}
fillingArray($arrA, $arrB);


function searchUnique($arrA, $arrB)
{
    for ($i = 0; $i < 10; $i++){
        if((in_array($arrA[$i], $arrB)) == false){
            echo "$arrA[$i] <br>";
        }
    }
}
searchUnique($arrA, $arrB);


echo "<pre>";
print_r($arrA);
print_r($arrB);

СПОСОБ 2

<?php
function fillingArray(&$arrA, &$arrB)
{
    for ($i = 0; $i < 10; $i++){
        $arrA[$i] = rand(1, 20);
        $arrB[$i] = rand(1, 20);
    }
}
fillingArray($arrA, $arrB);


function searchUnique($arrA, $arrB)
{
    for ($a = 0; $a < 10; $a++){
        for ($b = 0; $b < 10; $b++){
            $flag = false;
            if($arrA[$a] == $arrB[$b]) {
                $flag = true;
                break;
            }
        }
        if($flag == false){
            echo "$arrA[$a] <br>";
        }
    }
}
searchUnique($arrA, $arrB);


echo "<pre>";
print_r($arrA);
print_r($arrB);
vedro-compota's picture

  for ($a = 0; $a < 10; $a++){
        for ($b = 0; $b < 10; $b++){
            $flag = false; // перенести на более оптимальную позицию
            if($arrA[$a] == $arrB[$b]) {

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

function searchUnique($arrA, $arrB)
{
    for ($a = 0; $a < 10; $a++){
        $flag = false;
        for ($b = 0; $b < 10; $b++){
            if($arrA[$a] == $arrB[$b]) {
                $flag = true;
                break;
            }
        }
        if($flag == false){
            echo "$arrA[$a] <br>";
        }
    }
}
searchUnique($arrA, $arrB);
vedro-compota's picture

решение засчитано

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