Задачка, писать можно на любом ЯП

Печать / RSS
0
1. YouMobe 12.02.2014 / 21:37
Землянин
Хорошо было бы если на php
Как сделать такую штуку:
Действие: Тупо вбиваю значение через клавиатуру и эти значения становятся элементами массива А
пример:
пишу в форму с клавиатуры 123 отправить, она обрабатывается и становиться элементами массива
A[1,2,3]
Изменил: YouMobe (12.02.2014 / 21:40)
0
2. Михаил 12.02.2014 / 21:50
Малиновые штаны
тупо
session_start();
$_SESSION[]= $_POST['a'];

И формочку рисуешь в html
0
3. YouMobe 12.02.2014 / 22:04
Землянин
тупо не получиться дискретная математика
вот что мне надо заставить работать

<?php
/**
* Множество
*/
class Mnozhestvo
{
public $a = [12, 21, 67, -3, 1]; // пример
public $b = [6, 21, 1, -3]; // пример
public $m = [];
public $c = 0;
public $f;
/**
* Пересечение множеств
*/
public function getPeresechenie(){
for($i = 0; $i < count($this->a); $i++){
for($e = 0; $e < count($this->b); $e++){
if($this->a[$i] === $this->b[$e]){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
}
}
for($n = 0; $n < count($this->m); $n++){
echo $this->m[$n] . ', ';
}
}
/**
* Объеденение множеств
*/
public function getObedinenie(){
for($i = 0; $i < count($this->a); $i++){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
for($e = 0; $e < count($this->b); $e++){
for($i = 0; $i < count($this->a); $i++){
if($this->a[$i] === $this->b[$e]){
$this->f = 1;
}
}
}
if($this->f === 0){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
for($n = 0; $n < count($this->m); $n++){
echo $this->m[$n] . ', ';
}
}

}

$obj = new Mnozhestvo();
echo '<strong style="color: green;">Пересечение множеств:<br>';
$obj->getPeresechenie();
echo '</strong>';
echo '<strong style="color: blue;">Объединение множеств:<br>';
$obj->getObedinenie();
echo '</strong>';
// тут надо организовать форму которую будет заносится элементы массива a и b
?>
Изменил: YouMobe (12.02.2014 / 22:06)
0
4. Артур 12.02.2014 / 22:38
Оранжевые штаны
1. YouMobe, php -> string = array
$a = 'Hello';
echo $a[0]; // ?
0
5. YouMobe 12.02.2014 / 22:51
Землянин
4. слишком длинный код получается, думал по компактнее сообразить.

<?php
/**
* Множество
*/
class Mnozhestvo
{
public $a = [];
public $b = [];
public $m = [];
public $c = 0;
public $f;
/**
* Пересечение множеств
*/
public function __construct(){
if(!empty($_GET)){
// A
$a0 = $_GET['A0'];
$a1 = $_GET['A1'];
$a2 = $_GET['A2'];
$a3 = $_GET['A3'];
$a4 = $_GET['A4'];
// B
$b0 = $_GET['B0'];
$b1 = $_GET['B1'];
$b2 = $_GET['B2'];
$b3 = $_GET['B3'];
$b4 = $_GET['B4'];

$this->a = [$a0, $a1, $a2, $a3, $a4];
$this->b = [$b0, $b1, $b2, $b3, $b4];
}
}
public function getPeresechenie(){
for($i = 0; $i < count($this->a); $i++){
for($e = 0; $e < count($this->b); $e++){
if($this->a[$i] === $this->b[$e]){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
}
}
for($n = 0; $n < count($this->m); $n++){
echo $this->m[$n] . ', ';
}
}
/**
* Объеденение множеств
*/
public function getObedinenie(){
for($i = 0; $i < count($this->a); $i++){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
for($e = 0; $e < count($this->b); $e++){
for($i = 0; $i < count($this->a); $i++){
if($this->a[$i] === $this->b[$e]){
$this->f = 1;
}
}
}
if($this->f === 0){
$this->m[$this->c] = $this->a[$i];
$this->c = $this->c + 1;
}
for($n = 0; $n < count($this->m); $n++){
echo $this->m[$n] . ', ';
}
}
}
Изменил: YouMobe (12.02.2014 / 23:00)
0
6. YouMobe 12.02.2014 / 22:54
Землянин
продолжение

<?php
$obj = new Mnozhestvo();
echo '<strong style="color: green;">Пересечение множеств:<br>';
$obj->getPeresechenie();
echo '</strong>';
echo '<br><strong style="color: blue;">Объединение множеств:<br>';
$obj->getObedinenie();
echo '</strong>';
echo '<br><br><strong>Введите значения:</strong><form action="" method="GET">
<strong>A:</strong>
<input type="text" size="2" name="A0">
<input type="text" size="2" name="A1">
<input type="text" size="2" name="A2">
<input type="text" size="2" name="A3">
<input type="text" size="2" name="A4">
<br><strong>B:</strong>
<input type="text" size="2" name="B0">
<input type="text" size="2" name="B1">
<input type="text" size="2" name="B2">
<input type="text" size="2" name="B3">
<input type="text" size="2" name="B4">
<br>
<input type="submit" value="Рассчитать">
</form>';
?>
Изменил: YouMobe (12.02.2014 / 22:57)
0
7. Артур 12.02.2014 / 22:56
Оранжевые штаны
Класс зачем? И обязательно ли что то заносить через форму из HTML?
0
8. YouMobe 12.02.2014 / 22:57
Землянин
Башка (12 Февраля 2014 / 22:56)
Класс зачем? И обязательно ли что то заносить через форму из HTML?

можно и процедурный) ага, Училка условие ставит)
Изменил: YouMobe (12.02.2014 / 22:59)
0
9. Артур 12.02.2014 / 23:01
Оранжевые штаны
array_intersect
array_unique(array + array)
?
0
10. YouMobe 12.02.2014 / 23:02
Землянин
щас думаю как составить алгоритм разности.
Задание было такое совершить операции над множествами: разность, объеденение, пересечение
вроде два последних сделал. Составить Блок-схему и написать на ЯП

Добавлено через 01:02 сек.
Башка (12 Февраля 2014 / 23:01)
array_intersect
array_unique(array + array)
?

хм, щас гляну мануал, не пользовался ими никогда
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск