ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.01.2010, 18:54
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Не очень понятно причем тут бинарный поиск. Массив из случайных чисел или упорядоченный?
|
|
|

10.01.2010, 19:13
|
|
Постоянный
Регистрация: 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;
}
проверил несколько раз, на листочке посчитал ручками, вроде работает. Может можно лучше сделать ?
|
|
|

10.01.2010, 21:35
|
|
Постоянный
Регистрация: 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..
|
|
|

10.01.2010, 21:51
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от cupper
И еще, как время в милисекундах получать, чтобы можно было засекать время работы функций
Я этим пользуюсь.
|
|
|
Помогите пожалуста на писать задачку на Си |

13.01.2010, 18:05
|
|
Новичок
Регистрация: 13.01.2010
Сообщений: 2
Провел на форуме: 2592
Репутация:
0
|
|
Помогите пожалуста на писать задачку на Си
Моделирование обхода препятствия роботом.
|
|
|

11.01.2010, 13:51
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
А как сделать так, чтобы при решении какого-нибудь уравнения(типа 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..
|
|
|

11.01.2010, 21:57
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Как принять ответ с помощью winsock (TCP), хочу чтобы у меня вместо квадратиков были русские буквы в принятом ответе!
(речь идет о C++)
Последний раз редактировалось wolmer; 11.01.2010 в 22:06..
|
|
|

11.01.2010, 22:05
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от wolmer
Как принять ответ с помощью winsock (TCP), хочу чтобы у меня вместо квадратиков были русские буквы в принятом ответе!
Либо с сервера отправлять русские буквы вместо квадратиков, либо дебажить и смотреть куда смотря указатели, если речь идёт о С++.
|
|
|

12.01.2010, 21:05
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Как узнать за сколько выполнилась та или иная функция в C++?
|
|
|

12.01.2010, 21:11
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Глазки наверх подними ага
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|