HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.01.2010, 18:54
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Не очень понятно причем тут бинарный поиск. Массив из случайных чисел или упорядоченный?
 
Ответить с цитированием

  #2  
Старый 10.01.2010, 19:13
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

ну бинарный поиск работает только при упорядоченном массиве, после прогулки на улице, написал вот это
Код:
int bin_find_mm(int *, int, int ,int, int);
/*
* Рекурсивная функция поиска позиции q, такой что
* A[q-1] < x < A[q]
* возвращает q
*/

int main(){
	int mas[7]={1,4,6,7,10,16,23};
	cout<<bin_find_mm(mas, 0, 6, 24, 7)<<endl;
}

int bin_find_mm(int *A, int p, int r, int x, int minq){
	int temp = minq;
	if (p <= r){
		int q = (p+r)/2;
		if (x < A[q])
			temp = bin_find_mm(A, p, q-1, x, q);
		else if (x > A[q])
			temp = bin_find_mm(A, q+1, r, x, minq);
		else
			return q;
	}
	if (temp < minq)
		return temp;
	else
		return minq;
	
}
проверил несколько раз, на листочке посчитал ручками, вроде работает. Может можно лучше сделать ?
 
Ответить с цитированием

  #3  
Старый 10.01.2010, 21:35
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

И еще, как время в милисекундах получать, чтобы можно было засекать время работы функций
делаю так
Код:
int timeBeg = time(NULL);
....
int totalTime = time(NULL) - timeBeg;
cout<<"total time to sort = "<<totalTime<<endl;
но секунда величина очень большая %)

PS. кодю в лине, WinAPI нету.
PPS. проблема решена
Код:
#include <ctime>
...
clock_t t0 = clock();
//что-нить делаем
clock_t t1 = clock();
cout << "time: " << (double)(t1 - t0) / CLOCKS_PER_SEC << endl;

Последний раз редактировалось cupper; 10.01.2010 в 21:43..
 
Ответить с цитированием

  #4  
Старый 10.01.2010, 21:51
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме:
2066562

Репутация: 86
По умолчанию

Цитата:
Сообщение от cupper  
И еще, как время в милисекундах получать, чтобы можно было засекать время работы функций
Я этим пользуюсь.
 
Ответить с цитированием

Помогите пожалуста на писать задачку на Си
  #5  
Старый 13.01.2010, 18:05
Ann$
Новичок
Регистрация: 13.01.2010
Сообщений: 2
Провел на форуме:
2592

Репутация: 0
По умолчанию Помогите пожалуста на писать задачку на Си

Моделирование обхода препятствия роботом.
 
Ответить с цитированием

  #6  
Старый 11.01.2010, 13:51
Double2
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме:
30549

Репутация: 2
Отправить сообщение для Double2 с помощью ICQ
По умолчанию

А как сделать так, чтобы при решении какого-нибудь уравнения(типа x-5+y+2=52-36) все числа с переменными(x и y например) оставались слева, а все остальные перемещались за знак равно вправо и при этом меняли знак с + на - и наоборот? К примеру чтобы из x-5+y+2=52-36 получилось x+y=52-36+5

Последний раз редактировалось Double2; 12.01.2010 в 00:08..
 
Ответить с цитированием

  #7  
Старый 11.01.2010, 21:57
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Как принять ответ с помощью winsock (TCP), хочу чтобы у меня вместо квадратиков были русские буквы в принятом ответе!
(речь идет о C++)

Последний раз редактировалось wolmer; 11.01.2010 в 22:06..
 
Ответить с цитированием

  #8  
Старый 11.01.2010, 22:05
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Цитата:
Сообщение от wolmer  
Как принять ответ с помощью winsock (TCP), хочу чтобы у меня вместо квадратиков были русские буквы в принятом ответе!
Либо с сервера отправлять русские буквы вместо квадратиков, либо дебажить и смотреть куда смотря указатели, если речь идёт о С++.
 
Ответить с цитированием

  #9  
Старый 12.01.2010, 21:05
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Как узнать за сколько выполнилась та или иная функция в C++?
 
Ответить с цитированием

  #10  
Старый 12.01.2010, 21:11
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Глазки наверх подними ага
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ