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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
aleksandr_00
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 48
#1

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

08.01.2011, 20:01. Просмотров 1299. Ответов 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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 20:01     методы поиска(бинарный поиск/С++)
Посмотрите здесь:

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

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

Бинарный поиск - C++
Найти индекс расположения числа 15 в массиве на 20 элементов и сумму элементов предшествующих ему. Методом бинарного поиска. Вот код в...

Бинарный поиск - C++
Здравствуйте, помогите пожалуйста написать бинарный поиск одного элемента, текст читается из файла. Лабу сдавать в понедельник а я не знаю...

Бинарный поиск - C++
Вот вроде бы всё работает только как-то не очень правильно не находит 2 позицию в массиве и пред последнею может ещё что-то не находит , я...

Бинарный поиск - C++
Каким образом выполнить бинарный поиск определнного значения в отсортированном массиве?

Бинарный поиск - C++
Написал программу бинарного поиска элемента v. Не могу понять в чем ошибка, не считает количество элементов массива удовлетворяющий...

Бинарный поиск - C++
Писал алгоритм бинарного поиска по массиву строк. В результате, почему-то, периодически функция не находит строку, которая есть. int...

Бинарный поиск - C++
Прочитал статью на хабре, о том, что только 10 проц программистов смогут реализовать бин поиск. Раньше никогда с ним не имел дело, прочитав...

Бинарный поиск - C++
Реализуйте алгоритм бинарного поиска. Входные данные В первой строке входных данных содержатся натуральные числа N и K . Во второй...

бинарный поиск - C++
Задали реализовать бинарный поиск в упорядоченном массиве.Уже пол дня творю,3 листа исписал и ничего не получается. Вот пример поиска...

Бинарный поиск - C++
Реализовать алгоритм бинарного поиска количества нулевых элементов двумерного динамического массива. Это вообще возможно? Пробовал...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 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
3033 / 2354 / 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     методы поиска(бинарный поиск/С++)
Ответ Создать тему
Опции темы

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