Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
aleksandr_00
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 48
1

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

08.01.2011, 20:01. Просмотров 1419. Ответов 2
Метки нет (Все метки)

методы поиска(бинарный поиск/С++)
Я не проф.,плз ответы(у мя последний зачё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;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 20:01
Ответы с готовыми решениями:

Бинарный поиск (Сложность двоичного поиска)
Вася загадал число от 1 до N. За какое наименьшее количество вопросов (на...

Поиск числа в двумерном массиве (бинарный поиск)
Произвожу поиск элемента в массиве двумя способами: линейным(последовательным)...

Методы поиска элементов.
Прошу предоставить информацию или ссылку на тему, содержащую сведения о...

Методы поиска в различных структурах данных
у мя просьба,есть ли методы поиска???(с++/алгоритмы):read: 1)Таблица символов,...

Методы поиска: полный перебор и интерполяционный
Найти самолет, вылетающий в 1400. Методы поиска: полный перебор и...

2
Jupiter
Каратель
Эксперт С++
6570 / 3991 / 400
Регистрация: 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 минуты
и что-то ф-я поиска возвращает не то
1
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
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; //зачем нужна перем.?
Не зачем.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 21:42

Бинарный поиск
Всем привет! У меня вот тут маленькая проблемка! Помогите исправить, а то сама...

Бинарный поиск
Здравствуйте, помогите пожалуйста написать бинарный поиск одного элемента,...

Бинарный поиск
Что переделать в программе, чтобы она находила первый элемент больше или равный...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru