|
15 / 4 / 2
Регистрация: 01.12.2010
Сообщений: 157
|
|
Поиск повторного элемента в двумерном массиве12.09.2015, 12:56. Показов 3622. Ответов 10
Метки нет (Все метки)
Здравствуйте уважаемые форумчане!
У меня появился новый вопрос о двумерном массиве - задача состоит в поиске. Задача: Нужно найти такие элементы в матрице которые не повторяются и вписать их в одномерный массив. хотелось бы получить алгоритмический подход к решению задачи - примитивный поиск, и установка найденных данных в одномерный массив. Откровенно говоря я уже замучился )) - пока еще не удалось самостоятельно решить. мой алгоритм таков: m[0, 0] - пройдись по всем ячейкам матрицы от m[0, 1] до m[n, n] если не нашел то - arr[0] = m[0, 0] m[0, 1] - пройдись по всем ячейкам матрицы от m[0, 2] до m[n, n] если не нашел то - arr[1] = m[0, 1] m[0, 2] - пройдись по всем ячейкам матрицы от m[1, 0] до m[n, n] если не нашел то - arr[2] = m[0, 2] m[1, 0] - пройдись по всем ячейкам матрицы от m[1, 1] до m[n, n] если не нашел то - arr[3] = m[1, 0] ......... и так до m[n, n - 1] у меня не получается реализовать такой код, может кто-то сможет помоч? приложил картинки - для визуализации... заранее благодарю .
0
|
|
| 12.09.2015, 12:56 | |
|
Ответы с готовыми решениями:
10
Поиск ближайшего равного элемента в двумерном массиве |
|
Заблокирован
|
||||||
| 12.09.2015, 13:15 | ||||||
|
Morris,
1
|
||||||
|
Администратор
|
|||||||||||
| 12.09.2015, 13:16 | |||||||||||
|
Morris, как вариант:
1
|
|||||||||||
| 12.09.2015, 13:34 | |
|
Не по теме: Меня всегда удивляло: зачем давать решения с LINQ или с HashSet, для алгоритмичесикх задач? Студентов учат делать элементарные операции - перебор элементов массива, работа с индексами, с двумерными массивами и т.д. Неужели вы думаете, что ему помогут LINQ или HashSet, которые студент не поймет и которые не дадут ему элементарных навыков работы с массивами?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 12.09.2015, 13:45 | |
|
Morris, не совсем по теме, но судя по скринам, вы делаете решалку для Судоку.
Дональд Кнут еще в 2000 году предложил алгоритм "Dancing Links" (Танцующие Звенья) для эффективного решения задач о точном покрытии, в число которых попадает и Судоку.
1
|
|
|
15 / 4 / 2
Регистрация: 01.12.2010
Сообщений: 157
|
|||
| 12.09.2015, 13:59 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|||||||
| 12.09.2015, 14:40 | |||||||
Сообщение было отмечено Morris как решение
Решение
1
|
|||||||
|
Заблокирован
|
||||||
| 12.09.2015, 15:51 | ||||||
0
|
||||||
|
15 / 4 / 2
Регистрация: 01.12.2010
Сообщений: 157
|
|||
| 13.09.2015, 11:52 [ТС] | |||
|
Добавлено через 2 минуты Спасибо за советы ..! Добавлено через 59 минут Когда бы взят 1 элемент, и просканирован в матрице от m[0,0] - m[2,2], то 2 элемент пробежится от m[0,1] - m[2,2] 3 элемент пробежится от m[0,2] - m[2,2] 4 элемент пробежится от m[1,0] - m[2,2] по принципу одномерного массива - для нахождения элемента в одномерном массиве в зачастую используется двойной цикл, а для двумерного массива, думал аналогично - нужно использовать тройной цикл.
0
|
|||
|
|
||
| 13.09.2015, 12:00 | ||
|
2) Ваш алгоритм (как вы его описаываете по кр мере) - неправильный. Допустим мы доходим до числа 7, которые находится в третьей колонке второй строки. Начинаем искать семерки после этого значения. И не находим, потому что вторая семерка находится до этого. В результате, 7 заносится как уникальная в рез массив, что неправильно. Из этой ситуации можно выйти, если завести еще один массив, в котором отмечать те значений, которые уже совпадали ранее, но тогда увеличиваются расходы на память. 3) Сложность алгоритма что в вашем варианте, что в моем - O(n^2) 4) С помощью хеш-таблиц, алгоритм можно довести до O(n) (но не тот вариант, что в посте #3, там неправильно).
1
|
||
|
15 / 4 / 2
Регистрация: 01.12.2010
Сообщений: 157
|
||
| 13.09.2015, 12:10 [ТС] | ||
|
Спасибо за подробное разъяснение.
0
|
||
| 13.09.2015, 12:10 | |
|
Помогаю со студенческими работами здесь
11
Поиск максимального элемента в двумерном массиве Поиск максимального элемента в двумерном массиве Поиск максимального элемента в двумерном массиве
Поиск максимального по модулю элемента в двумерном массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|