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

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

Войти
Регистрация
Восстановить пароль
 
Fobos1994
4 / 4 / 0
Регистрация: 15.04.2011
Сообщений: 274
#1

Переделать под реккурсию - C++

24.09.2013, 21:37. Просмотров 253. Ответов 1
Метки нет (Все метки)

Есть задача,поиск числа бинарным методом, в нее нужно добавить решение с помощью рекурсиипомогите пожалуйста!
C++ (Qt)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <conio.h>
using namespace std;
 
int BinSearch(int *M, int n, int k);    //(int *M, int n, int k)-Г·ГІГ® Г§Г*Г¤.Гў ГЄГ*Г·ГҐГ±ГІГўГҐ ГЇГ*Г°Г*ìåòðîâ?!
 
int main()
{
    const int n=9;                 // Г·ГІГ® îáîçГ*Г*Г·Г*ГҐГІ?
    int A[n];
    int x,j,a,i;
 
    for (size_t i=0; i<n; i++)
    {
        cout << "Vvedite A[" << i << "] = ";
        cin >> A[i];
    }
        for (size_t i=0; i<n; i++)
    {
printf("%i ",A[i]);
    }
    puts("");
 
    for(j=1; j<n; j++)
    for (i=0; i<n-j; i++)
    {
        if (A[i]>A[i+1])
        {
            a=A[i];
            A[i]=A[i+1];
            A[i+1]=a;
        }
    }
 puts("");
 puts("Otsortirovaniy masiv: ");
puts("");
for (i=0; i<n; i++){
printf("%i ",A[i]);
 
}
           puts("");
    cout << "Nayti Eto 4islo -> ";
    cin >> x;
 
       puts("4islo pod indexom: ");
    cout << BinSearch(A, n, x);
    getch();
    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]) return m;
    }
    return -1;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать под реккурсию (C++):

Переделать под с++ - C++
есть программа, я так понял написана на с, а мне надо на с++ сам я пробовал, но дуб дубом.. желательно еще переделать: убрать ввод данных...

Переделать под указатели - C++
Помогите пожалуйста переделать задачу под указатели... :(вообще не получается... Заранее огромное спасибо.... int main() { int...

переделать под график - C++
это сделано под сетевую диаграмму

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

Переделать код под c++ - C++
Есть код Pascal, нужно его переделать под c++. Но поскольку в этом не особо разбираюсь прошу у вас помощи. Заранее благодарен. Спасибо за...

Под С++ нужно переделать - C++
while pos(' ',s)&gt;0 do{пока есть пробелы} begin s1:=copy(s,1,pos(' ',s)-1);{копируем первое слово} k:=0; for i:=1 to...

1
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
25.09.2013, 00:32 #2
ссыль

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int binary_search(int A[], int key, int imin, int imax)
{
  // test if array is empty
  if (imax < imin)
    // set is empty, so return value showing not found
    return KEY_NOT_FOUND;
  else
    {
      // calculate midpoint to cut set in half
      int imid = midpoint(imin, imax);
 
      // three-way comparison
      if (A[imid] > key)
        // key is in lower subset
        return binary_search(A, key, imin, imid-1);
      else if (A[imid] < key)
        // key is in upper subset
        return binary_search(A, key, imid+1, imax);
      else
        // key has been found
        return imid;
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 00:32
Привет! Вот еще темы с ответами:

Написать / переделать под C++ - C++
Всем привет, нуждаюсь в вашей помощи, написать программу с паскаля на c++ Условие:В одномерном массиве, состоящем из n вещественных...

переделать под использаовние указателей - C++
Здравствуйте, дамы и господа! Задача программы тривиальна и хрестоматийна: Дана матрица a(m,n) из 0 и 1. Найти в ней квадратную...

Переделать код под стандарт C++98 - C++
с++ переделать код под стандарт с++98 #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;tuple&gt; #include &lt;cmath&gt; typedef...

Переделать задачу под С++ с рекурсией - C++
Здравствуйте,нужно переделать данную задачу с паскаля на С++ с использованием рекурсии.Нужна помощь. Вот условие к ней Вычислить...


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

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

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