![]() |
|
Модераторы: bsa |
![]()
|
|
| Avaj |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 14.7.2008 Где: Владивосток. Репутация: 1 Всего: 3 |
Вобщем нужно реализовать бинарный поиск квадратной матрице А[n][n] по диагоналям, параллельным побочной (т.е. диагоналями здесь будут эл-ты A[0][0], A[n-1][n-1], побочная диагональ и все параллельные ей)
Алгоритм поиска вот такой:
по-подробней он описан здесь. С другим алгоритмом бинарного поиска я уже разобрался и реализовал, А вот с приведённым выше - нифига не получается Короче ближе к делу - Я ни как немогу найти у себя в коде ошибку из-за которой поиск не работает! Вот ф-ция, которая работает(упрощённый алгоритм бинарного поиска):
Пояснение: Этой ф-ции передаётся двумерный массив n*n(ну или квадратная матрица), в котором(-ой) и нужно произвести поиск заданного элемента(x) по диагоналям, параллельным побочной - диагонали пронумерованы начиная с эл-та A[0][0] - диагональ №0 и заканчивая элементом A[n-1][n-1] - диагональ №2n-2. Т.е. как вы поняли, сама побочная диагональ будет иметь номер n-1. Диагонали отсортированы по неубыванию слева на право. Затем производится сам поиск и результаты поиска заносятся в одномерный массив b, т.е если в i-ой диагонали эл-т найден, то его позиция в диагонали заносится в b[i]. Ну а n2 - ненужный пока параметр. Так вот, как я уже говорил, эта функция работает, и суть вопроса в том почему не работает эта функция:
Как видите, это тоже бинарный поиск, но немного модифицированный. Кто скажет, где ошибка? P.S. не обращайте внимание на то, что ф-ции ищут только в первых n-диагоналях, потом доделаю. Я сам всё понял Это сообщение отредактировал(а) Avaj - 28.9.2008, 14:45 |
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |