С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 14.01.2022
Сообщений: 21

Напишите шаблонные функции для: - линейного поиска; - двустороннего поиска; - бинарного поиска;

14.01.2022, 20:38. Показов 1300. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите шаблонные функции для:
- линейного поиска;
- двустороннего поиска;
- бинарного поиска;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2022, 20:38
Ответы с готовыми решениями:

Алгоритмы линейного поиска, линейного поиска с барьером, бинарный поиск
Задан одномерный массив целых чисел A. Найти первый нулевой и последний положительные элементы и поменять их местами.

Дополнить программу, что бы заработал алгоритм поиска в линейных структурах с барьером и алгоритм бинарного поиска
Всем привет, помогите пожалуйста закончить код, что бы в результате выводился элемент(ключ), который мы указали, и который мы будем искать...

Разработать программу для поиска нужной фамилии в массиве, используя метод бинарного поиска
Разработать программу для поиска нужной фамилии в массиве, используя метод бинарного поиска. Добавлено через 2 минуты С...

7
0 / 0 / 0
Регистрация: 14.01.2022
Сообщений: 21
15.01.2022, 12:45  [ТС]
может кто то ответить ?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
15.01.2022, 13:22
Цитата Сообщение от rar60nagib Посмотреть сообщение
может кто то ответить ?
А где вопрос-то?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
15.01.2022, 13:29
Двусторонний поиск слишком геморно.
0
0 / 0 / 0
Регистрация: 14.01.2022
Сообщений: 21
17.01.2022, 10:13  [ТС]
а можете расписать по двум остальным типам поиска ?
0
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
17.01.2022, 10:27
Лучший ответ Сообщение было отмечено rar60nagib как решение

Решение

Код с инета линейный поиск
Кликните здесь для просмотра всего текста
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
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
#include <iostream>
using namespace std;
 
// linear search template function
// arr: array
// n: size of array
// x: value to search
// the function returns the index of x if it is present in arr
// otherwise it returns -1
template <class T>
int LinearSearch(T arr[], int n, T x) {
 
    for (int i = 0; i < n; ++i) {
 
        if (arr[i] == x)
            return i;
 
    }
 
    return -1;
 
}
 
int main() {
 
    int arr[] = { 6 , 43 ,23 ,6, 12 ,43, 3, 4, 2, 6 };
    int n, index, x;
    n = sizeof(arr) / sizeof(int); // size of arr
 
    cout << "Integer Array: ";
    for (int i = 0; i < n; ++i) cout << arr[i] << ' ';
    cout << endl;
 
    cout << "Enter Value you want to search: ";
    cin >> x;
 
    index = LinearSearch(arr, n, x);
 
    if (index != -1)
        cout << x << " is present in the array at position " << index << endl;
    else
        cout << x << " is not present in the array \n" << endl;
        
    /*-----------------------------------------------------------------------------*/
 
    char charArr[] = { 'A', 'v', 'D', 'R', 'T','u', 'j', 'o' };
    char c;
    n = sizeof(charArr) / sizeof(char);
 
    cout << "Char Array: ";
    for (int i = 0; i < n; ++i) cout << charArr[i] << ' ';
    cout << endl;
 
    cout << "Enter character you want to search: ";
    cin >> c;
 
    index = LinearSearch(charArr, n, c);
 
    if (index != -1)
        cout << c << " is present in the array at position " << index << endl;
    else
        cout << c << " is not present in the array " << endl;
 
}


Добавлено через 4 минуты
Бинарный с инета
Кликните здесь для просмотра всего текста
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<iostream>
using namespace std;
 
// binary search function using template
// n: size of arr
// x: value to search
// the fucntion returns -1 if x is not found in arr
// otherwise it returns index of x
template<typename T>
int binary_search(T arr[],int n,T x)
{
    int start = 0;
    int end = n-1;
    while(start<=end)
    {
        int mid = (start+end)/2;
        if(arr[mid]==x) 
            return mid;
        else if(arr[mid]<x) 
            start = mid + 1;
        else    
            end = mid - 1;
    }
    return -1;
}
 
// Template function to print array
// n: size of arr
template<typename T>
void PrintArray(T arr[], int n)
{
    for (int i = 0; i < n; ++i)
        cout << arr[i] << " ";
    cout << "\n\n";
}
 
int main()
{
 
    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ,12 };
    int n = sizeof(arr) / sizeof(int);
 
    cout << "Array : " << endl;
    PrintArray(arr, n);
    
    int x, index;
    cout<<"Enter value you want to Search: ";
    cin>>x;
    
    index = binary_search(arr, n, x);
    
    if(index==-1)
        cout<<x<<" is not present in the array"<<endl;
    else
        cout<<x<<" is present in the array at position "<<index<<endl;
 
}


Добавлено через 17 секунд
Двусторонний не смог найти.
0
0 / 0 / 0
Регистрация: 14.01.2022
Сообщений: 21
17.01.2022, 10:35  [ТС]
спасибо большое!
0
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
17.01.2022, 10:38
Нашел еще вот такой поиск, он называется тернарный, не знаю подходит ли для двустороннего и плюс он сишный
Кликните здесь для просмотра всего текста

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
40
41
42
43
44
#include<stdio.h>
int ternary_search(int arr[], int n, int x) {
    int start = 0;
    int end = n - 1;
    int mid1;
    int mid2;
    while (start <= end) {
        int mid1 = (end - start) / 3 + start;
        int mid2 = 2 * (end - start) / 3 + start;
        if (x == arr[mid1]) {
            return mid1;
        }
        else if (x == arr[mid2]) {
            return mid2;
        }
        else if (x < arr[mid1]) {
            end = mid1 - 1;
        }
        else if (x < arr[mid2]) {
            start = mid1 + 1;
            end = mid2 - 1;
        }
        else {
            start = mid2 + 1;
        }
    }
    return -1;
}
int main()
{
    int arr[] = { 2,3,5,7,10,10,11,15,17,20,25,30,32,36,40 };
    int n = 15;
    int index;
    int x;
    printf("Enter element you want to search: ");
    scanf("%d", &x);
    index = ternary_search(arr, n, x);
    if (index != -1) {
        printf("%d%s%d", x, " is present at index ", index);
    }
    else {
        printf("%d%s", x, " is not present in the given array\n");
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2022, 10:38
Помогаю со студенческими работами здесь

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

Напишите программу для выполнения бинарного поиска
Напишите программу для выполнения бинарного поиска. Результатом работы алгоритма бинарного поиска является позиция значения в массиве,...

Три процедуры поиска (линейного, линейного с барьером, бинарного)
уважаемые пользователи! помогите плз а то тупники( . Напишите три процедуры поиска (линейного, линейного с барьером, бинарного) для работы...

Написать алгоритм поиска данных методом линейного поиска
написать алгоритм поиска данных методом линейного поиска

Сравнить алгоритмы линейного поиска и двоичного поиска
Сравнить алгоритмы линейного поиска и двоичного поиска, представленного циклами и рекурсией 1. Для выбранного задания составить указанные...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru