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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
aleksandr_00
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 48
08.01.2011, 20:01     методы поиска(бинарный поиск/С++) #1
методы поиска(бинарный поиск/С++)
Я не проф.,плз ответы(у мя последний зачё1т)
тут всего 3вопросы
заранее спс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
using namespace std;
 
int BinSearch(int *M, int n, int k);    //(int *M, int n, int k)-что зад.в качестве параметров?!
 
int main()
{
    const int n=5;                 // что обозначает?
    int A[n];
    int x;
 
    for (size_t i=0; i<n; i++)
    {
        cout << "Please, input A[" << i+1 << "] = ";
        cin >> A[i];
    }
 
    cout << "find this -> ";
    cin >> x;
 
    cout << BinSearch(A, n, x); 
    return 0;
}
 
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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 20:01     методы поиска(бинарный поиск/С++)
Посмотрите здесь:

C++ бинарный поиск
Методы поиска элементов. C++
Бинарный поиск C++
Методы поиска в различных структурах данных C++
C++ Бинарный поиск
Бинарный поиск C++
Бинарный поиск (Сложность двоичного поиска) C++
Методы поиска: полный перебор и интерполяционный C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.01.2011, 21:38     методы поиска(бинарный поиск/С++) #2
Цитата Сообщение от aleksandr_00 Посмотреть сообщение
const int n=5; // что обозначает?
задает количество элементов в массиве


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

Добавлено через 2 минуты
и что-то ф-я поиска возвращает не то
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
08.01.2011, 21:42     методы поиска(бинарный поиск/С++) #3
Цитата Сообщение от 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; //зачем нужна перем.?
Не зачем.
Yandex
Объявления
08.01.2011, 21:42     методы поиска(бинарный поиск/С++)
Ответ Создать тему
Опции темы

Текущее время: 22:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru