Задачка, писать можно на любом ЯП
1.
YouMobe (12.02.2014 / 21:37)
Хорошо было бы если на php
Как сделать такую штуку:
Действие: Тупо вбиваю значение через клавиатуру и эти значения становятся элементами массива А
пример:
пишу в форму с клавиатуры 123 отправить, она обрабатывается и становиться элементами массива
A[1,2,3]
2.
Михаил (12.02.2014 / 21:50)
тупо
session_start();
$_SESSION[]= $_POST['a'];
И формочку рисуешь в html
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
?>
4.
Артур (12.02.2014 / 22:38)
1.
YouMobe, php -> string = array
$a = 'Hello';
echo $a[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] . ', ';
}
}
}
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>';
?>
7.
Артур (12.02.2014 / 22:56)
Класс зачем? И обязательно ли что то заносить через форму из HTML?
8.
YouMobe (12.02.2014 / 22:57)
Башка (12 Февраля 2014 / 22:56)
Класс зачем? И обязательно ли что то заносить через форму из HTML?
можно и процедурный) ага, Училка условие ставит)
9.
Артур (12.02.2014 / 23:01)
array_intersect
array_unique(array + array)
?
10.
YouMobe (12.02.2014 / 23:02)
щас думаю как составить алгоритм разности.
Задание было такое совершить операции над множествами: разность, объеденение, пересечение
вроде два последних сделал. Составить Блок-схему и написать на ЯП
Добавлено через 01:02 сек.
Башка (12 Февраля 2014 / 23:01)
array_intersect
array_unique(array + array)
?
хм, щас гляну мануал, не пользовался ими никогда
11.
Артур (12.02.2014 / 23:06)
<?php
$a = [...];
$b = [...];
foreach($b as $e){
while(($i = array_search($e, $a)) !== false){
unset($a[$i]);
}
}
12.
YouMobe (12.02.2014 / 23:10)
Башка (12 Февраля 2014 / 23:06)
<?php
$a = [...];
$b = [...];
foreach($b as $e){
while(($i = array_search($e, $a)) != false){
unset($a[$i]);
}
}
Саул)
13.
Артур (12.02.2014 / 23:11)
Остальные нужны?
14.
YouMobe (12.02.2014 / 23:13)
Башка (12 Февраля 2014 / 23:11)
Остальные нужны?
да, хотелось бы)
15.
Артур (12.02.2014 / 23:14)
<?php
$a = [...];
$b = [...];
foreach($b as $e){
if(array_search($e, $a) === false){
$a[] = $e;
}
}
Добавлено через 01:43 сек.
$a = [...];
$b = [...];
$c = $a + $b - ($a - $b) - ($b - $a);
16.
YouMobe (12.02.2014 / 23:17)
Башка (12 Февраля 2014 / 23:14)
<?php
$a = [...];
$b = [...];
foreach($b as $e){
if(array_search($e, $a) === false){
$a[] = $e;
}
}
Добавлено через 01:43 сек.
$a = [...];
$b = [...];
$c = $a + $b - ($a - $b) - ($b - $a);
можно тут в кратции с комментировать?
где $c
17.
Артур (12.02.2014 / 23:21)
http://dic.academic.ru/pictures/wiki/files/50/250px-Venn_A_intersect_B.svg.png
Сам подумай как можно получить пересечение имея разность и объединение
18.
YouMobe (13.02.2014 / 00:29)
http://upwww.ru/files/d71ff62e56feac4217e5c1f14896e960/1835b115527d5e9fc59b0812342d1a9e/Безымянный.jpg - эту задачку как решить?
19.
юЮЮфюв (13.02.2014 / 01:32)
Ruby:
array = gets.chomp.split(', ').map { |elem| elem.to_i }
Это к задаче из первого поста
20.
YouMobe (13.02.2014 / 11:33)
Хотя бы блок схему) таблицу заполнил
URL:
https://visavi.net/topics/40091