Помогите, плиз, чем можете…
Задание
В PHP – скрипте создать массивы. Написать программу (PHP – скрипт), которая после ввода с клавиатуры параметра формирует новый массив и выводит его на экран.
Надо:
Продажей компьютеров занимаются несколько сетей. Требуется составить программу, которая по заданной стоимости выводит на экран:
стоимость
наименование сети
строки вида модель компьютерацена меньше указанной стоимости
Если сеть компьютерами дешевле заданной стоимости не торгует, ее название не вы-водится. Если ни в одной из сетей компьютеров дешевле указанных нет, программа должна вывести сообщение
компьютеров такой стоимости нет.
Подскажите с помощью каких функций всё это осуществить.
14 июля 2009 в 10:03
Да, спасибо:))
14 июля 2009 в 8:04
Ламерок
13 июля 2009 в 23:03
Да, спасибо, я действительно умею писать большой код:)
13 июля 2009 в 23:03
xDDD
13 июля 2009 в 22:03
о боже от такого плотного кода глаза устают
12 июля 2009 в 11:00
Ну вы и извращенцы!
Так надо:
<?
echo"Идите все в жопу!";
?>
xDD
12 июля 2009 в 10:01
Соответственно вызывеашь функцию lost_my_array($price, $arStart) , где $price – цена, $arStart – массив с сетями
12 июля 2009 в 10:00
<?
define("ERROR_MSG", "Компьютеров с такой стоимостью нет");
$nets = Array(0 = > Array("naimenovanie_seti" => "net_1", "price" => "100$", "model" => "tralala1"), 1 = >Array("naimenovanie_seti" => "net_2", "price" => "200$", "model" => "tralala2"));
//Массив сгенерируешь сам, я привел простейший шаблон
//Функции =)
function vivod($check, $arr){
if($check != 0){
for($i = 0; $i <= sizeof($arr); $i++){
?>Сеть:<?=$arr["naimenovanie_seti"]?><br>
Модель:<?=$arr["model"]?><br>
Цена:<?=$arr["price"]?><br>
<?
}
}
else{
echo ERROR_MSG;
}
}
function list_my_array($price, $arStart){
$newArray = Array();
$x = 0;
for($i = 0; $i <= sizeof($arStart); $i++){
if($arStart[$i]["price"] < $price){
$newArray[$i]["naimenovanie_seti"] = $arStart[$i]["naimenovanie_seti"];
$newArray[$i]["price"] = $arStart[$i]["price"];
$newArray[$i]["model"] = $arStart[$i]["model"];
$x = $x + 1;
}
else{
$x = $x + 0;
}
}
vivod($x, $newArray);
}
6 июня 2009 в 17:02
сам офигел
6 июня 2009 в 16:01
ну ты загнул))).
4 июня 2009 в 2:00
function swap (&$x, &$y) {
$z = $x;
$x = $y;
$y = $z;
}
function qsort ($l, $r) {
global $comp, $price;
$i = $l;
$j = $r;
$x = $price[($l + $r) / 2];
do {
while ($price[$i] < $x) $i++;
while ($price[$j] > $x) $j–;
if ($i <= $j) {
if ($price[$i] > $price[$j]) {
swap ($price[$i], $price[$j]);
swap ($comp[$i], $comp[$j]);
}
$i++;
$j–;
}
} while ($i <= $j);
if ($i < $r) qsort ($i, $r);
if ($j > $l) qsort ($l, $j);
}
function dichotomy ($el) {
global $price;
$r = 0;
$l = count ($price) – 1;
while ($r + 1 < $l) {
$mid = ($l + $r) / 2;
if ($price[$mid] > $el) $r = $mid;
elseif ($price[$mid] < $el) $l = $mid;
else return $mid;
}
if ($price[$r] == $el) return $r;
if ($price[$l] == $el) return $l;
return -1;
}
/* ———————————- */
массив $price стоимость
массив $comp в нём наименование
сначала сортируешь qsort
потом дихотомией ищешь этот элемент, если дихотомия вернёт -1 значит он не найден
если элементов таких несколько просто проверь ещё циклом
$current = dichotomy ($el);
$tmp = $current + 1;
$current–;
while ($price[$current] == $el) {
some_function ($price[$current]);
$current–;
}
while ($price[$tmp] == $el) {
some_function ($price[$tmp]);
$tmp++;
}
что-то как-то так) не проверял свой бред) осталвляю это дело тебе) гг)
29 мая 2009 в 8:01
О_О, смотри массивы
29 мая 2009 в 3:05
google function)