1 / 1 / 0
Регистрация: 10.03.2019
Сообщений: 14
1

Выполните поиск элемента в массиве. Для поиска элемента используйте рекурсивную функцию

09.04.2019, 20:59. Показов 1378. Ответов 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
#include <iostream>
#include <conio.h>
 
int search_value(int mass[], int s, int iterator) {
    if (s == mass[iterator])
    {
        std::cout << "Yep, i see it!\n";
        return 0;
    }
    else if (s == iterator)
    {
        std::cout << "I don`t found it.";
        return 0;
    }
    iterator++;
    return search_value(mass, s, iterator);
}
 
 
int main() {
    int arr[5] = {1,2,3,4,5};
    int number_search;
    int iter_mass = 0;
    std::cout << "Enter number search: ";
    std::cin >> number_search;
    search_value(arr, number_search, iter_mass);
    _getch();
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2019, 20:59
Ответы с готовыми решениями:

Реализовать функцию линейного поиска элемента в массиве
1) Реализовать функцию линейного поиска элемента в массиве (принимает массив и искомое...

Написать функцию поиска в одномерном массиве элемента, удовлетворяющего условию
1)Написать функцию поиска в одномерном массиве элемента X, удовлетворяющего условию n&lt;X&lt;m....

Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов
Добрый день, помогите пожалуйста, нужно написать рекурсивную функцию для вычисления максимального...

Написать рекурсивную функцию для вычисления индекса максимального элемента массива из n элементов
Написать рекурсивную функцию для вычисления индекса максимального элемента массива из n элементов.

3
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
09.04.2019, 21:24 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
24
25
26
27
28
29
30
31
#include <string>
#include <iostream>
#include <iomanip>
 
template <class T>
const T * binarySearch(const T * arr, size_t size, T value)
{
    const int * p;
    if (size < 2)
    {
        if (*arr == value)
            return arr;
        else
            return nullptr;
    }
    else if (p = binarySearch(arr, size * 0.5 + (size & 1), value))
        return p;
    else
        return binarySearch(arr + size * 0.5 + (size & 1), size * 0.5, value);
}
 
int main()
{
    const int size = 10;
    int array[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
 
    const int element = 5;
    const int * result = binarySearch(array, size, element);
    std::cout << std::boolalpha << (result && *result == element) << std::endl;
    system("pause");
}
0
2083 / 918 / 428
Регистрация: 17.11.2018
Сообщений: 2,405
09.04.2019, 21:25 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
int search_value( int mass[], int s, int iterator )
{
    if( s == mass[iterator] ) return 1;
    if( !iterator )           return 0;
 
    return search_value( mass, s, iterator - 1 );
}
 
 
int main()
{
    int arr[] = { 1,-2,3,4,5 };
    int number_search;
    int iter_mass = sizeof( arr ) / sizeof( arr[0] ) - 1;
 
    std::cout << "Enter number search: ";
    std::cin >> number_search;
 
    if( search_value( arr, number_search, iter_mass ) )
        std::cout << "Yes, i see it!\n";
    else
        std::cout << "I don`t found it.\n";
 
    return 0;
}
1
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
09.04.2019, 22:35 4
Цитата Сообщение от Krokodil9798 Посмотреть сообщение
Бинарный поиск - лучший поиск в мире
Только не забудьте перед его использованием отсортировать массив.

Добавлено через 27 секунд
Цитата Сообщение от Krokodil9798 Посмотреть сообщение
C++
1
int array[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
Здесь 10 в конце должно было быть, очепятка
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2019, 22:35
Помогаю со студенческими работами здесь

В отсортированном одномерном массиве X(100) выполнить поиск за-данного элемента методом однородного бинарного поиска
Здравствуйте уважаемые пользователи форума, прошу составить программу в dev c++ просто здать надо...

Класс для реализации различных видов поиска элемента в массиве
Привет. Мне нужно написать класс для поисков элемента. помогите написать класс. И еще вопрос есть:...

Написать функцию вычисления линейного индекса элемента (его номера расположения в памяти) по заданым размерам и индексам элемента в N-мерном массиве
Елементи N-вимірного масиву розміром n розміщуються в послідовних ділянках пам'яті так, що швидше...

Разработать программу для поиска в упорядоченном массиве элемента равного заданному
Помогите решить пожалуйста! Разработать программу для поиска в упорядоченном массиве элемента...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru