Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 семестр / Инструм.средства / Методички ИСИС 230401 / Примеры задач с массивами

.doc
Скачиваний:
54
Добавлен:
17.02.2016
Размер:
45.57 Кб
Скачать

В 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>