Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск двумерного массива в двумерном массиве
 
 автор: p.pavluxa   (21.08.2014 в 16:41)   письмо автору
 
 

Здравствуйте.
Имею двумерный массив состоящий из 0 и 1
Требуется внутри этого массива найти совпадение другого двумерного массива (более маленького) с такой же кобинацией 0 1 расположенных в нём.

Функция должна возвращать true или false.
Есть ли готовые варианты?

  Ответить  
 
 автор: confirm   (21.08.2014 в 20:01)   письмо автору
 
   для: p.pavluxa   (21.08.2014 в 16:41)
 

Что значит двумерный состоящий из 1 и 0, и что за другой "маленький"?
Ну как минимум нужно привести примеры этих массивов, а затем уже задавать вопрос как сделать то, что вам необходимо. А на такую постановку задачи как вы описываете вам вряд ли кто ответит.

А вот по поводу готовых вариантов, так это в каком смысле, типа РНР-функции nado()? Нет такой.

  Ответить  
 
 автор: p.pavluxa   (31.08.2014 в 16:37)   письмо автору
 
   для: confirm   (21.08.2014 в 20:01)
 

$first = array(
0 => array( 0, 1, 1, 0 ),
1 => array( 0, 1, 1, 0 ),
2 => array( 0, 0, 0, 0 )
);

1)
$last = array(
0 => array( 1, 1 )
1 => array( 1, 1 )
);
echo funcname( $first, $last ); // true

2)
$last = array(
0 => array( 0, 1 ),
1 => array( 1, 0 )
);
echo funcname( $first, $last ); // false

Грубо говоря в варианте 1 функция проверяет есть ли в квадратире
0 1 1 0
0 1 1 0
0 0 0 0
квадратик
1 1
1 1

А во втором варианте аналог только проверка наличия квадратика
0 1
1 0

  Ответить  
 
 автор: confirm   (31.08.2014 в 16:45)   письмо автору
 
   для: p.pavluxa   (31.08.2014 в 16:37)
 

Если искать квадратик в квадрате, то

$first = array(
0 => array( 0, 1, 1, 0 ),
1 => array( 0, 1, 1, 0 ),
2 => array( 0, 0, 0, 0 )
);

1)
$last = array( 
0 => array( 1, 1 )
1 => array( 1, 1 )
);
echo funcname( $first, $last ); // true


Это глупость, ибо в массиве можно проверить наличие элементов 1, есть или нет, при этом не важно под какими индексами они находятся, то есть, например, пересечение массива ( 0, 1, 1, 0 ) или ( 1, 1, 0, 1) с массивом (1) вернет элементы.

А у вас не просто искать надо, но и соблюдать условие.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования