Решенные задачи по PHP

Задача номер 1

<?php
/* Задача номер 1. Вывести на экран N случайных чисел (каждое с новой строки) из диапазона [-21, 35]

ПРИМЕЧАНИЕ: подразумевается, что вы должны организовать цикл, который выполнится N раз и при этом в каждом своём витке выведет на экран случайное число.*/
$r = 0;
$i = 1;
$N = 5;
function randomcisla(&$a)
{
    $a = rand(-21, 35);
}
    while ($i <= $N)
    {
      randomcisla($r);
      echo $r, " ";  
      $i++;
    }
?>

Задача номер 2

<?php 
/* Задача номер 2. Вывести на экран сумму N случайных чисел. */
$b = 0;
$i = 0;
$N = 5;
$sum = 0;
function randomcisla(&$a)
{
    $a = rand(1, 100);
}
for ($i = 1; $i <= $N; $i++)
{
    randomcisla($b); 
    $sum += $b;
}
echo $sum;
?>

Задача номер 3

<?php 
/* Задача номер 3. Вывести на экран N случайных чисел (каждое с новой строки). Для каждого числа, начиная со второго, рядом выводить - больше ли оно предыдущего или меньше. */
$N = 5;
$Cislo = 0;
$nastoy = 0;
$pred = 0;
function randomcisla(&$a)
{
    $a = rand(1, 100);
}
randomcisla($nastoy);
$pred = $nastoy;
for ($i=1; $i <= $N; $i++){
    randomcisla($nastoy);
    if ($nastoy > $pred)
        echo $nastoy, ">", $pred, "\n";
    else{ echo $pred, ">", $nastoy, "\n";}
    $pred = $nastoy;
}
?>

Задача номер 4.

<?php 
/*Задача номер 4. Вывести на экран число Фибоначчи.*/
$Fibonahy = 0;
$predcislo = 1;
$sledcislo = 2;
$N = 10;
for ($i = 1; $i <= $N; $i++)
{  
   echo $Fibonahy, " ";
   $Fibonahy = $predcislo;
   $predcislo = $sledcislo;
   $sledcislo = $Fibonahy + $predcislo;
}

Задача номер 5.

<?php 
/* Задача номер 5. Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке. */
$N = 12345;
$Del = 10;
while ($N >= 1)
{
    echo fmod($N, $Del), " ";
    $N  = intdiv($N, 10);
}

Задача номер 6.

<?php
/* задача номер 6. Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в обратном порядке (аналогично предыдущей задаче), если же таких цифр не найдёт, вывести сообщение "Нечетных цифр не обнаружено!"*/
$N = 4632;
$Del = 10;
$Flag = false;
while ($N >= 1)
{   
    if (fmod($N, 2) == 1)
    {
    echo fmod($N, $Del), " ";
    $Flag = true;
    }
    $N  = intdiv($N, 10);
}
if ($Flag == false){
    print "Нечетных цифр не обнаружено!";
}

Задача номер 7.

<?php
/*Задача номер 7. Задать массив из 7-ми элементов через предварительное описание типа, заполнить его случайными значениями в одном цикле, а в другом цикле вывести эти значения на экран.*/
//$array
for ($i = 1; $i <= 7; $i++){
    $array{$i} = rand(0, 100);
}
print_r($array);

Задача номер 8.

<?php 
/* Задача номер 8. Задать двумерный массив размерностью m на n (MxN) элементов (m и n вынести в область определения констант), заполнить его случайными значениями и вывести их на экран уже после того, как весь массив будет заполнен (т.е. заполнять и выводить в разных группах циклов). */
//$new = array();
//print_r($new);
for ($m = 10; $m != 0; $m--){
    for ($n = 10; $n != 0; $n--){
        $new[$m][$n] = rand(0, 100);
    }
}
print_r($new);

Задача номер 9.

<?php
/* Задача номер 9. Задайте случайным образом массив из N элементов. Выведите его на экран "ёлочкой", Второй вариант - сделайте то же самое, но не используйте массив: у вас есть переменная N, выведете на экран, все числа до N, по тому же принципе что и выше. */
$value = 0;
$perenos = 1;
$shet = 0;
for ($N = 0; $N != 15; $N++){
    $value++;
    $array[$N] = $value;
}
for ($i = 0; $i < count($array); $i++){
    echo $array[$i], " ";
    $shet++;
    if ($shet == $perenos){
        echo "\n";
        $perenos++;
        $shet = 0;
    }
}

Второй вариант решения задачи (Без массивов)

$N = 43;
$pora = 1;
$stroka = 0;
for ($i = 1; $i <= $N; $i++){
    echo $i, " ";
    $stroka++;
    if ($stroka == $pora){
        echo "\n";
        $stroka = 0;
        $pora++;
    }
}

Задача номер 10.

<?php 
/*Задача номер 10. Задайте случайным образом массив из N элементов (целых чисел). Найдите максимальное число и напечатайте его.*/
$new = array();
$N = 10;
for ($i = 0; $i != $N ; $i++){
    $new[] = rand(1, 100);
}
echo max($new);

Задача номер 11.

<?php 
/*Задача номер 11. Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его.*/
$new = array();
$N = 20;
for ($i = 0; $i != $N ; $i++){
    $new[] = rand(1, 100);
}
echo min($new);

Задача номер 12

<?php
/* Задача номер 12. Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).
Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива - сравнение проводите пока не закончится та выборка, которая короче.*/
$Longarray = 20;

for ($i = 0; $i != $Longarray; $i++){
    $firstarr[$i] = rand(-10, 10);
    $secondarr[$i] = rand(-10, 10);
}
$i = 3;
$j = 2;
while ($i <= 20){
    if ($firstarr[$i] > $secondarr[$j])
        echo $firstarr[$i], ">", $secondarr[$j], " ";
    
    else
        echo $firstarr[$i], "<", $secondarr[$j], " ";
    
    $i += 3;
    $j += 2;
}

Задача номер 13.

<?php
/* Задача номер 13. Создайте функцию, которая принимает на вход массив случайных чисел из диапазона [5..12]. Обходит этот массив и делает для каждого элемента следующее (пусть она оказывает побочный эффект прямо в своём теле):
Если это число равно 5 -- то выведете на экран строку "пять", если 6 -- то строку "шесть", если 7 то число "7", иначе -- строку "какое-то другое число". */

for ($i = 0; $i <> 10; $i++){
   $array[] = rand (5, 12); 
}
function pobohka($massiv){
    for ($j = 0; $j <> 10; $j++){
      switch($massiv[$j]){ 
          case 5:
              echo "Пять ";
              break;
          case 6:
              echo "Строка шесть ";
              break;
          case 7:
              echo "Строка семь ";
              break;
          echo "Другое число ";
}   }   }
pobohka($array);

Задача номер 14.

<?php
/* Задача номер 14. Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"*/
$b = [12, 5, 17, 6, 4];
$a = array();
$c = array();
function Randoming(&$massiv){
    for ($j = 0; $j <> 10; $j++){
        $massiv[$j] = rand(1, 20);
        echo $massiv[$j], " ";
    }
        
}
Randoming($a);
$c = array_diff ($a, $b);
print_r($c);