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

Реализовать методы последовательного и линейного поиска для массива байтовых чисел

27.09.2019, 12:28. Показов 4396. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать методы последовательного и линейного поиска для массива байтовых чисел.
помогите написать программу пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.09.2019, 12:28
Ответы с готовыми решениями:

Рекурсивная функция для последовательного поиска в массиве из n целых чисел
Разработать программу, использующую рекурсивную функцию для выполнения задачи. Последовательный поиск в массиве из n целых чисел ...

Реализовать алгоритма последовательного поиска в файле
Разработать программу для реализации алгоритма последовательного поиска. Определить функцию изменения времени вычисления от объема исходных...

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

14
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
28.09.2019, 11:07  [ТС]
помогите написать программу
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,053
Записей в блоге: 3
28.09.2019, 11:27
Цитата Сообщение от Максим890 Посмотреть сообщение
методы последовательного и линейного
а чем они отличаются?
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
28.09.2019, 11:51  [ТС]
такое задание
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
28.09.2019, 11:54  [ТС]
вот задание
Миниатюры
Реализовать методы последовательного и линейного поиска для массива байтовых чисел  
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
29.09.2019, 08:58  [ТС]
может кто-то поможет
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,243
29.09.2019, 09:41
Последовательный поиск:
C++
1
2
3
4
5
6
7
int search(unsigned char* arr,int n,unsigned char value)
{
   for(int i=0;i<n;i++)
     if(arr[i]==value)
       return i;
   return -1;
}
линейный реализуйте самостоятельно.
Алгоритм:
1. сортируете массив
2. Берете средний элемент
2. сравниваете средний элемент с value
3. Если он больше value, то берете средний элемент от первой половины, иначе от второй
4. повторяете п.2. - 3.
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
29.09.2019, 17:16  [ТС]
спасибо
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
29.09.2019, 17:19  [ТС]
Для сортированного массива строк (Фамилии) fr(1000) реализовать методы последовательного и линейного поиска. Определить количество шагов необходимых для поиска введенного с клавиатуры элементов первым и вторым методом
помогите написать программу пожалуйста
0
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
29.09.2019, 22:13
Цитата Сообщение от Максим890 Посмотреть сообщение
реализовать методы последовательного и линейного поиска
Это как бы один и тот же метод.

Добавлено через 4 часа 24 минуты
Я может отстал от жизни, но...

Линейный, последовательный поиск — алгоритм нахождения заданного значения произвольной функции на некотором отрезке. Данный алгоритм является простейшим алгоритмом поиска и, в отличие, например, от двоичного поиска, не накладывает никаких ограничений на функцию и имеет простейшую реализацию. Поиск значения функции осуществляется простым сравнением очередного рассматриваемого значения (как правило, поиск происходит слева направо, то есть от меньших значений аргумента к большим) и, если значения совпадают (с той или иной точностью), то поиск считается завершённым. Википедия-1.

Цитата Сообщение от zss Посмотреть сообщение
линейный реализуйте самостоятельно.
Алгоритм:
1. сортируете массив
2. Берете средний элемент
2. сравниваете средний элемент с value
3. Если он больше value, то берете средний элемент от первой половины, иначе от второй
4. повторяете п.2. - 3.
Двоичный (бинарный) поиск (также известен как метод деления пополам или дихотомия) — классический алгоритм поиска элемента в отсортированном массиве (векторе), использующий дробление массива на половины. Используется в информатике, вычислительной математике и математическом программировании.
...
Поиск элемента в отсортированном массиве
1. Определение значения элемента в середине структуры данных. Полученное значение сравнивается с ключом.
2. Если ключ меньше значения середины, то поиск осуществляется в первой половине элементов, иначе — во второй.
3. Поиск сводится к тому, что вновь определяется значение серединного элемента в выбранной половине и сравнивается с ключом.
4. Процесс продолжается до тех пор, пока не будет найден элемент со значением ключа или не станет пустым интервал для поиска.
Википедия-2

PS. Каким чудесным образом видоизменяются темы!..
1
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
03.10.2019, 19:33  [ТС]
как в виде байтов сделать ?
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main() {
    setlocale(LC_ALL, "rus");
 
    int ans[125];  // создали массив для записи всех индексов
    int h = 0;
    int arr[125]; // создали массив на 20 элементов
    int key; // создали переменную в которой будет находиться ключ
    int vibor = 0;
    int size = 0;
    
    cout << "Укажите размер массива: ";
    cin >> size;
    
 
        if (size <= 0)
        {
            cout << "размер массива должен быть больше 0" << endl;
            system("pause");
            exit(0);
        }
    
 
 
    for (int x = 0; x < size; x++)
    {
        cout << "введите " << x << " элемент массива: ";
        cin >> arr[x];
 
    }
 
    cout << "Исходный массив равен: ";
    
    for (int i = 0; i < size; i++) {
        
        cout << arr[i] << " "; // выводим все ячейки массива
 
        if (i == 9) {
        }
    }
 
 
    cout << endl;
 
    cout << "1. Последовательнеый поиск" << endl;
    cout << "2. линейный поиск" << endl;
    cout << endl;
    cout << "Выберите метод поиска: ";
    cin >> vibor;
 
    if (vibor != 1 && vibor != 2)
    {
        cout << "такого метода не существует!" << endl;
    
    }
 
    switch (vibor)
    {
    case 1:
 
        cout << endl << endl << "Введите элемент для поиска: "; cin >> key; // считываем ключ
 
        for (int i = 0; i < size; i++)
        {
            if (arr[i] == key)
            {
                ans[h++] = i;
 
                if (h != 0) { // проверяем были ли совпадения
                    for (int i = 0; i < h; i++) {
                        cout << "элемент " << key << " находится в ячейке " << ans[i] << endl; //выводим все индексы
                    }
                }
            }
        } break;
    case 2:
 
        cout << endl << endl << "Введите элемент для поиска: "; cin >> key; // считываем ключ
 
        for (int i = 0; i < size; i++) {
            if (arr[i] == key) { // проверяем равен ли arr[i] ключу
                ans[h++] = i;
            }
        }
 
        if (h != 0) { // проверяем были ли совпадения
            for (int i = 0; i < h; i++) {
                cout << "элемент " << key << " находится в ячейке " << ans[i] << endl; //выводим все индексы
            }
        }
        else {
            cout << "Мы не нашли ключ " << key << " в массиве" << endl;;
        }
 
    }
    
    system("pause");
    return 0;
}
0
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
03.10.2019, 19:49
Под "байтовыми числами" видимо имеется ввиду тип char или unsigned char.

Относительно вашего кода в #11. Он несколько... странен. Видимо пока не доделан.
Однако напрягает отсутствие проверки на верхнюю границу при вводе size. Если укажут 1000, то в какой-то момент программа просто упадёт.

И поиски лучше оформить в виде функций. zss вам прозрачно намекнул на это.
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
03.10.2019, 19:54  [ТС]
сказали чтобы был вывод в двоичном формате
0
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
04.10.2019, 00:20
Цитата Сообщение от Максим890 Посмотреть сообщение
сказали чтобы был вывод в двоичном формате
Опять-таки я могу только догадываться, что имелось ввиду.
Либо у вас преп косноязычный, либо вы "испорченный телефон".

Видимо требуется, что бы "байтовые числа", они же char, выводились на консоль не как символы (как это происходит по умолчанию при использовании оператора <<), а в числовом представлении (т.е. числа в диапазоне -128..127 или 0..255). Это проще всего сделать так:
C++
1
2
3
4
char ch = 'A';
cout << (int)ch;
// или для беззнаковых чисел
cout << (unsigned int)ch;
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 41
05.10.2019, 20:23  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.10.2019, 20:23
Помогаю со студенческими работами здесь

Нужен пример последовательного, линейного поиска
Привет. Облазила весь интернет и не нашла как реализовать на C# последовательный (линейный) поиск, есть исходники только на С++, но понять...

Реализовать алгоритм последовательного поиска в одномерном массиве
Доброго времени суток. Может кто помочь? Нужно реализовать алгоритм последовательного поиска в одномерном массиве средствами Microsoft...

Не могу реализовать алгоритм линейного поиска
У меня некорректно работает алгоритм линейного поиска. При любом заданном значении возвращает значение -1. Я знаю, что в этом условии if...

Алгоритм последовательного поиска целевого значения из выборки N чисел
Написать программу реализующую алгоритм последовательного поиска целевого значения из выборки N чисел

Написать программу реализующую алгоритм последовательного поиска целевого значения из выборки N чисел
Привет!!!!Помогите пожалуйста &quot;начинающему информатику&quot;,ну оооооочень надо!! 1.Написать программу реализующую алгоритм последовательного...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru