5 семестр / Инструм.средства / Методички ИСИС 230401 / Примеры задач с массивами
.docВ html документе создайте форму, в которой пользователь введет данные, необходимые для решения задачи, и кнопку типа Submit для активизации программы на языке РНР в соответствии с вариантом. При решении задачи предусмотреть вывод исходного массива и сформированного: Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-95,95].
1. Удалить из него все отрицательные элементы кратные 5 и принадлежащие промежутку [a,b].
2. Вставить число К между всеми соседними элементами, которые имеют разные знаки.
3. Переставить в обратном порядке часть массива между элементами с номерами К1 и К2, включая их.
Форма:
<html>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1251">
</head>
<body LANG="ru-RU" LINK="#000080" VLINK="#800000" DIR="LTR">
<br />
<form action="script.php" method="GET">
Введите n: <input type="integer" name="n"/><br>
Введите k: <input type="integer" name="k"/><br>
Введите k1: <input type="integer" name="k1"/><br>
Введите k2: <input type="integer" name="k2"/><br>
Введите a: <input type="integer" name="a"/><br>
Введите b: <input type="integer" name="b"/><br>
<input type="submit"/>
</form>
</body>
</html>
php-файл:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body bgcolor="#DAE3EB">
<a href="index.html"> На главную </a>
<?php
echo "<br>";
echo "<br>";
$S=0;
echo "<br>Исходный массив <br>";
for($i=0;$i<$_GET[n];$i++)
{$array[$i]=rand(-95,95);
print_r($array[$i]);echo " ";}
$r=0;
for($i=0;$i<$_GET[n];$i++)
{if(($array[$i]<0)&&(bcmod($array[$i],5)==0)&&($array[$i]>=$_GET[a])&&($array[$i]<=$_GET[b]));
else {$arr[$r]=$array[$i];
$r++;
}
}
echo "<br>Массив, из которого удалили все отрицательные элементы кратные 5 и принадлежащие промежутку [$_GET[a],$_GET[b]]<br>";
for($i=0;$i<=$r;$i++)
{
print_r($arr[$i]);
echo " ";
}
$K=0;
for($i=0;$i<=$r;$i++)
{$arr1[$K]=$arr[$i];
$K++;
if(($arr[$i]>0)&&($arr[$i+1]<0)||($arr[$i]<0)&&($arr[$i+1]>0))
{$arr1[$K]=$_GET[k];$K++;
}
}
echo "<br>Массив, в который вставили $_GET[k] между всеми соседними элементами, которые имеют разные знаки <br>";
for($i=0;$i<=$K;$i++)
{
print_r($arr1[$i]);
echo " ";
}
echo "<br>Преобразованный массив<br>";
for($i=0;$i<$_GET[k1];$i++)
{
print_r($arr1[$i]);
echo " ";
}
$r=$_GET[k2];
for($i=$_GET[k1];$i<=$_GET[k2];$i++)
{
print_r($arr1[$r]);
$r--;
echo " ";
}
for($i=$_GET[k2]+1;$i<=$K;$i++)
{
print_r($arr1[$i]);
echo " ";
}
?>
</body>
</html>
В html документе создайте форму, в которой пользователь введет данные, необходимые для решения задачи, и кнопку типа Submit для активизации программы на языке РНР в соответствии с вариантом. При решении задачи предусмотреть вывод исходного массива и сформированного: Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-135,175].
1. Удалить из него все элементы, первая и последняя цифра которых четная.
2. Вставить число К1 после всех элементов, больших заданного числа, а число К2 – после всех элементов, кратных пяти.
3. Перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].
Форма:
<html>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1251">
</head>
<body LANG="ru-RU" LINK="#000080" VLINK="#800000" DIR="LTR">
<br />
<form action="script.php" method="GET">
Введите n: <input type="integer" name="n"/><br>
Введите k: <input type="integer" name="k"/><br>
Введите k1: <input type="integer" name="k1"/><br>
Введите k2: <input type="integer" name="k2"/><br>
<input type="submit"/>
</form>
</body>
</html>
php-файл:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body bgcolor="#DAE3EB">
<a href="index.html"> На главную </a>
<?php
echo "<br>";
echo "<br>";
$S=0;
echo "<br>Исходный массив <br>";
for($i=0;$i<$_GET[n];$i++)
{$array[$i]=rand(-135,175);
print_r($array[$i]);echo " ";}
$r=0;
for($i=0;$i<$_GET[n];$i++)
{
if(bcdiv(abs($array[$i]),100,2)!=0)
{if((bcmod(bcdiv(abs($array[$i]),100,100),2)!=0)||(bcmod(bcmod(abs($array[$i]),10),2)!=0))
{$ar[$r]=$array[$i];
$r++;
}
}
else {if((bcmod(bcdiv(abs($array[$i]),10,10),2)!=0)||(bcmod(bcmod(abs($array[$i]),10),2)!=0))
{$ar[$r]=$array[$i];
$r++;
}}
}
echo "<br>Массив, из которого удалили все элементы, первая и последняя цифра которых четная <br>";
for($i=0;$i<=$r;$i++)
{
print_r($ar[$i]);echo " ";
}
$i=0;
$j=0;
while($i<=$r)
{$arrayk[$j]=$ar[$i];$j++;
if($ar[$i]>$_GET[k1])
{$arrayk[$j]=$_GET[k1];
$j++;
}
if(bcmod($ar[$i],5)==0)
{$arrayk[$j]=$_GET[k2];
$j++;
}
$i++;
}
echo "<br>Массив c $_GET[k1] и c $_GET[k2] <br>";
for($i=0;$i<=$j;$i++)
{
print_r($arrayk[$i]);echo " ";
}
echo "<br>Массив,первые $_GET[k] элементов которого перенесены в конец <br>";
for($i=$_GET[k];$i<$j;$i++)
{
print_r($arrayk[$i]);echo " ";
}
for($i=0;$i<$_GET[k];$i++)
{
print_r($arrayk[$i]);echo " ";
}
?>
</body>
</html>