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

Печать RSS
387

Y
Автор
Землянин
0
Хорошо было бы если на php
Как сделать такую штуку:
Действие: Тупо вбиваю значение через клавиатуру и эти значения становятся элементами массива А
пример:
пишу в форму с клавиатуры 123 отправить, она обрабатывается и становиться элементами массива
A[1,2,3]
Изменил: YouMobe (12.02.2014 / 21:40)
М

Малиновые штаны
0
тупо
session_start();
$_SESSION[]= $_POST['a'];

И формочку рисуешь в html
Y
Автор
Землянин
0
тупо не получиться дискретная математика
вот что мне надо заставить работать
<?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
1. YouMobe, php -> string = array
$a = 'Hello';
echo $a[0]; // ?
Y
Автор
Землянин
0
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)
Y
Автор
Землянин
0
продолжение
<?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
Класс зачем? И обязательно ли что то заносить через форму из HTML?
Y
Автор
Землянин
0
Башка (12 Февраля 2014 / 22:56)
Класс зачем? И обязательно ли что то заносить через форму из HTML?
можно и процедурный) ага, Училка условие ставит)
Изменил: YouMobe (12.02.2014 / 22:59)
А

Оранжевые штаны
0
array_intersect
array_unique(array + array)
?
Y
Автор
Землянин
0
щас думаю как составить алгоритм разности.
Задание было такое совершить операции над множествами: разность, объеденение, пересечение
вроде два последних сделал. Составить Блок-схему и написать на ЯП

Добавлено через 01:02 сек.
Башка (12 Февраля 2014 / 23:01)
array_intersect
array_unique(array + array)
?
хм, щас гляну мануал, не пользовался ими никогда
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск