![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
dog |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: ![]() ![]() ![]() |
1. Дан двумерный массив A [NxM] , элементы которого меняются по определенному закону. Определить, есть ли в массиве элемент со значением Q.
Программа работает идеально, ищет элементы выводит их индексы. Но когда задаешь элемент, которого нет в массиве программа зависает. Сообщение отредактировано: dog - 1.04.2010 4:06 |
![]() ![]() |
dog |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо огромное. Вот что значит свежий взгляд.
И еще один вопросик. Можно ли эту программу усовершенствовать, чтобы она работала не по линейному поиску а по бинарному поиску. В методичке только алгоритм бинарного поиска в одномерном массиве там ничего сложного, а по двумерному массиву ничего. Подскажите хоть алгоритм и смысл как проводить бинарный поиск в двумерном массиве. Программу целиком писать не надо просто объясните на каком-нибудь примере как делать бинарный поиск в условиях двумерного массива. Спасибо. |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Спасибо огромное. Вот что значит свежий взгляд. Пожалуйста ![]() программу усовершенствовать, чтобы она работала не по линейному поиску а по бинарному поиску. В методичке только алгоритм бинарного поиска в одномерном массиве там ничего сложного, а по двумерному массиву ничего. Подскажите хоть алгоритм и смысл как проводить бинарный поиск в двумерном массиве. dog, твой вопрос не определен.Как сказал уже volvo, для того, чтобы использовать бинарный поиск (БП), массив должен быть упорядочен. Упорядочить одномерный массив - дело нехитрое. С упорядочиванием же двумерного ситуация в корне иная. Чем отличается отличается прямая от плоскости или от трехмерного пространства? В частности, тем, что прямую упорядочить - не проблема, а вот упорядочить плоскость.. Ну, нельзя сказать, какая точка больше - A или B! Я не буду говорить, что этого сделать совершенно невозможно (например, можно опираться на биекцию прямой в плоскость), но для этого нужно ввести дополнительное отношение (отношение порядка) и при этом будет невозможно сохраненить "геометрию": две геометрически близкие точки будут далеки в смысле нашего упорядочивания, и наоборот. Конечно, двумерный массив - это не плоскость. Хотя бы потому, что он конечен. Но все же его упорядочивание остается неоднозначным. volvo, например, опирался на упорядочение по строкам, но кто сказал, что this is the case? Массив может быть упорядочем по столбцам (не вижу никакого преимущества строк перед столбцами в смысле задачи) или, скажем, по диагоналям. Или по спирали.. Вывод такой. Упорядочивание - прерогатива одномерной структуры. Упорядочить двумерное образование - означает сначала спроектировать на одномерное, а потом упорядочивать уже в нем. Именно поэтому в твоей методичке отсутствовала инфа по двумерным массивам, думаю. Вопрос не технический, вопрос принципиальный. Его решение таково: определить способ упорядочивания, сделать отображение двумерной структуры в одномерную - и упорядочить так, как сказано в методичке. А общего бинарного поиска (независимого от способа упорядочивания) просто не существует. Потому не существует его описания. И я бы не рекомендовал думать, что способ упорядочивания по строкам - какой-то выделенный, что он типа дефолтный, обычный и т.п. Обычного выделенного дефолтного способа не существует ВООБЩЕ. Не подумай, что я придираюсь, это действительно важно понять. собака, ты извини за мудреное изложение.. Если что остается неясно - спрашивай ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 10:38 |