Задача №12 Сравнение массивов
Primary tabs
Задача из списка
<?php
/*Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы
среди элементов массива при очередном запуске программы могли встретиться и
отрицательные и положительные числа).
Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива -
сравнение проводите пока не закончится та выборка, которая короче.*/
echo "Задача №12" . "<br>";
function CompareArrays($N){
$arr1 = array();
$arr2 = array();
$step1 = 3;
$step2 = 2;
$position1 = $step1-1;
$position2 = $step2-1;
$result = array();
$counter = 0;
for($count = 0; $count < $N; $count++){
$arr1[$count] = rand(-9, 9);
$arr2[$count] = rand(-9, 9);
}
do{
if($arr1[$position1] > $arr2[$position2]){
$result[$counter++] = $arr1[$position1] . " больше " . $arr2[$position2];
}elseif($arr1[$position1] < $arr2[$position2]){
$result[$counter++] = $arr1[$position1] . " меньше " . $arr2[$position2];
}else{
$result[$counter++] = $arr1[$position1] . " равно " . $arr2[$position2];
}
$position1 += $step1;
$position2 += $step2;
}while($position1 < $N && $position2 < $N);
return $result;
}
$arr = CompareArrays(20);
foreach($arr as $number){
echo $number . "<br>";
}
?>- Log in to post comments
- 3852 reads
vedro-compota
Mon, 02/19/2018 - 11:38
Permalink
Приведите в комментариях
Приведите в комментариях декомпозированный вариант -- вынесите получение случайного массива в отдельную функцию (всегда старайтесь проводить декомпозицию, это здорово улучшает читаемость и много что ещё)
_____________
матфак вгу и остальная классика =)
Voronve
Mon, 02/19/2018 - 12:51
Permalink
Спасибо за совет - сделано
<?php echo "Задача №12" . "<br>"; function CompareArrays($N) { $arr1 = array(); $arr2 = array(); $step1 = 3; $step2 = 2; $position1 = $step1-1; $position2 = $step2-1; $result = array(); $counter = 0; $arr1 = GetRandomMass($N); $arr2 = GetRandomMass($N); do{ if($arr1[$position1] > $arr2[$position2]){ $result[$counter++] = $arr1[$position1] . " больше " . $arr2[$position2]; }elseif($arr1[$position1] < $arr2[$position2]){ $result[$counter++] = $arr1[$position1] . " меньше " . $arr2[$position2]; }else{ $result[$counter++] = $arr1[$position1] . " равно " . $arr2[$position2]; } $position1 += $step1; $position2 += $step2; }while($position1 < $N && $position2 < $N); return $result; } function GetRandomMass($lenght) { for($count = 0; $count < $lenght; $count++){ $mass[$count] = rand(-9, 9); } return $mass; } $arr = CompareArrays(20); foreach($arr as $number){ echo $number . "<br>"; } ?>vedro-compota
Wed, 02/21/2018 - 17:55
Permalink
засчитано.
засчитано.
_____________
матфак вгу и остальная классика =)