Форум программистов, компьютерный форум CyberForum.ru

методы поиска(бинарный поиск/С++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложить два пятидесятизначных десятичных числа. http://www.cyberforum.ru/cpp-beginners/thread225810.html
Пожалуйсто помогите решить задачу: Сложить два пятидесятизначных десятичных числа.
C++ Как найти мин. и макс. элементы массива? Как найти минимальный и максимальный элементы массива и их индексы,и заменить все отрицательные элементы на 0?) в С++ http://www.cyberforum.ru/cpp-beginners/thread225801.html
Friend - класс шаблон C++
Подскажите, пожалуйста, почему Visual C++ 2010 Express нормально компилирует код template <class NODETYPE> class QueueNode { ... template <class NODETYPE> friend class Queue; }; template <class NODETYPE> class Queue { ... }
Произведение чисел C++
// Найдите наименьшее число n, чтобы произведение чисел от 2 до n делилось на 1992. #include <iostream> using namespace std; int main(void) {setlocale(LC_ALL,"Russian"); int n,a,pr=1; for (n=0;n<1992;n++) {pr=pr*(2+n); cout<<"#"<<n<<"---"<<pr<<endl; if(pr%1992==0)
C++ Определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) http://www.cyberforum.ru/cpp-beginners/thread225783.html
Требуется определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) Y=x/3-x^3/15+x^5/75-x^7/375...+-x^(2n+1) / 3*5^n ; |x|<=1 p.s. тема Р.С. пролетела мимо меня(по уважительным причинам)
C++ Опредилитель матрицы Не могу написать код реккурсивной ф-ии на С для подсчёта опредилителя матрцы nxn, помогите кто чем может: или кодом или алгоритмам зарание благодарю P.S. использовать реккурсию подробнее

Показать сообщение отдельно
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
08.01.2011, 21:42     методы поиска(бинарный поиск/С++)
Цитата Сообщение от aleksandr_00 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int BinSearch(int *M, int n, int k)
{
    int L = 0;
    int R = n; 
    int m;
    int z = 0;               //зачем нужна перем.?
 
    while (L<R)    {
        z++;
        m = (L+R)/2;           
if (k > M[m]) L = m; 
        if (k < M[m]) R = m;
        if (k == M[m]) break;   
    }
    return 0;
Думается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int BinSearch(int *M, int n, int k)
{
    int L = 0;
    int R = n; 
    int m;
    int z = 0;               //зачем нужна перем.?
 
    while (L<R)    {
        z++;
        m = (L+R)/2;           
if (k > M[m]) L = m; 
        if (k < M[m]) R = m;
        if (k == M[m]) return m;   
    }
    return -1;

Цитата Сообщение от aleksandr_00 Посмотреть сообщение
int BinSearch(int *M, int n, int k); //(int *M, int n, int k)-что зад.в качестве параметров?!
В качестве параметров заданы:
1) указатель на инт, этот параметр принимает массив чисел
2) переменную типа инт, принимает размер массива
3) переменную типа инт, принимает искомое значение

Цитата Сообщение от aleksandr_00 Посмотреть сообщение
const int n=5; // что обозначает?
Константа типа инт со значением 5, в данном случае используется для задания размера массива
Цитата Сообщение от aleksandr_00 Посмотреть сообщение
int z = 0; //зачем нужна перем.?
Не зачем.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru