Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 14:00   #11
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

Ты пвтаешся отсортировать по принципу всплывания наибольшего элемента. По убыванию. Но не правильно. И не понятно зачем функция qs, если ты ее не используешь в функции сортировки?
Nomlpppp вне форума Ответить с цитированием
Старый 17.05.2009, 14:06   #12
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Извините, конечно. Но вы немного бред несете. Функция сортировки выполнена правильно и в редактировании не нуждается. Тут вся проблема в самом бинарном поиске. В нем какие то проблемы. Вот так лучше?

Код:
int bin_poisk(int *mas,int size,int n){
	int middle,right=size-1,left=0;
	while(right-left>1){
		middle=(right+left)/2;
		if(mas[middle]<n){left=middle;}
		else{right=middle;}
	}
	if(mas[middle]!=n){return -1;}
	else{return right;}
}
И теперь тут надо что то исправить. В некоторых случаях она не работает.
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 17.05.2009, 14:06   #13
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот:
Код:
int qs(int *mas,int size,int n){
	int middle,right=size,left=-1;
	while(right-left>1)
 {
		middle=(right+left)/2;
		if(mas[middle]<n) left=middle;
		else right=middle;
	}
	if(mas[right]!=n){return -1;}
	else{return right;}
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.05.2009, 14:11   #14
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Sazary, второй раз спасибо! Все тема закрыта.
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 17.05.2009, 15:02   #15
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

MAKEDON, Сорри. Не внимательно посмотрел, показалось что сортиркешь пузырьком. могу только добавить что по логике сортировки, используемой тобой, сортировка осуществляется в size/2 проходов, т.е MAX_SIZE/2. Значит условие делаешь:
Код:
 for( i=size-1; i>=size/2; i-- )
. Но это мелоч.
Nomlpppp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Волновой алгоритм поиска Merkator Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 12.02.2009 16:15
Алгоритм поиска значений в памяти. Ivan_32 Win Api 2 07.11.2008 19:59
Алгоритм поиска... Johnson Общие вопросы Delphi 1 26.10.2008 08:35
Алгоритм поиска HEX строки в файле Vlad_3310 Общие вопросы Delphi 8 17.06.2008 10:02