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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.88
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
#1

Метод случайного поиска - C++

19.04.2010, 13:01. Просмотров 7927. Ответов 22
Метки нет (Все метки)

в чем заключается метод? какой шаг и т д поясните плиз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2010, 13:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод случайного поиска (C++):

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

Адаптивный метод случайного поиска - C++
Адаптивным методом случайного поиска, нужна помощь(( вообще не понимаю ...

вид поиска, метод поиска - C++
Написать программу, реализующую один из алгоритмов программного поиска данных в информационном массиве, расположенном в оперативной памяти...

Генерация случайного числа, максимально случайного - C++
Добрый день, задался вопросом как получить случайное число, но не псевдо-случайное по идее функции rand() и srand(time(NULL))...

Функция / метод поиска - C++
У меня есть класс Person в который я ввожу информацию такую как: имя, фамилия, адрес, округ и тд. Мне нужно, функция, которая будет искать...

Метод пассивного поиска - C++
Подскажите, пожалуйста, почему неправильно находятся точка минимума и наименьшее значение функции? double func(double x) { ...

22
Maxim Prishchepa
Эксперт С++
1923 / 1035 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.04.2010, 13:57 #2
Цитата Сообщение от Katyaara Посмотреть сообщение
в чем заключается метод? какой шаг и т д поясните плиз.
имхо нужно гуглить.
ЗЫ: о таком методе поиска первый раз слышу.
0
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
19.04.2010, 14:26  [ТС] #3
я гуглил, толком ничего несказано ни шаг ничего(
0
easybudda
Модератор
Эксперт CЭксперт С++
9916 / 5839 / 975
Регистрация: 25.07.2009
Сообщений: 11,013
19.04.2010, 14:38 #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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main(){
    const int size = 10;
    int arr[size];
    for ( int i = 0; i < size; ++i )
        std::cout << ( arr[i] = i + 1 ) << " ";
    std::cout << std::endl;
    int find;
    std::cout << "Enter value between 1 and 10: ";
    std::cin >> find;
    if ( find < 1 || find > 10 )
        exit(1);
    int pos;
    srand(time(NULL));
    while ( arr[pos = rand() % size] != find )
        ;
    std::cout << "Value " << find << " is at index " << pos << " in array starts by zero." << std::endl;
 
    exit(0);
}
2
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
19.04.2010, 17:26 #5
Цитата Сообщение от easybudda Посмотреть сообщение
while ( arr[pos = rand() % size] != find )
;
вообщем сам алгоритм это 1 строчка ?)
C++
1
while ( arr[pos = rand() % size] != find )
а где примняется такой?
0
easybudda
Модератор
Эксперт CЭксперт С++
9916 / 5839 / 975
Регистрация: 25.07.2009
Сообщений: 11,013
19.04.2010, 17:44 #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
вообщем сам алгоритм это 1 строчка ?)
Угу

Цитата Сообщение от PointsEqual Посмотреть сообщение
а где примняется такой?
Без понятия, я про такое первый раз слышу... Да и смысла в нём в таком виде не много - теоретически может на всегда задуматься. Может в этом и был бы смысл при бинарном поиске, если очередной участок делить не пополам, а как прийдётся. А так скорее на шутку похоже...
0
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
21.04.2010, 18:25  [ТС] #7
короче как я понял никто об этом ничего не знает?
0
wmkross
2 / 2 / 0
Регистрация: 24.09.2008
Сообщений: 10
21.04.2010, 18:40 #8
подобные методы могут применяться в показе случайной информации!!! Например: когда запускаешь тот же MS VS сразу появляется сообщение-рекомендация , но если ты сразу выключишь и включишь заново среду то енто сообщение-рекомендация уже будет другой. Ну и развивай мысль где енто может еще использоваться!
0
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
21.04.2010, 21:55  [ТС] #9
ооооо это легко сказать мне неадо этим методом уравнение решить решить)) вот тут я бессилен
0
positron
22 / 7 / 1
Регистрация: 22.04.2010
Сообщений: 105
22.04.2010, 21:36 #10
Метод экспериментального поиска экстремума функций многих переменных. Основная идея метода заключается в том, что точку каждого пробного опыта для изучения поверхности отклика выбирают случайным образом. Несмотря на произвольность выбора пробной точки, алгоритм случайного поиска позволяет последовательно приближаться к экстремальной области.

То есть если в методе деления отрезка пополам, мы берем точки для сравнения, откладывая равные отрезки от середины отрезка, то здесь, возможно, точки берутся рандомно...
1
fasked
Эксперт С++
4963 / 2543 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.04.2010, 21:58 #11
Трассировка. Метод вероятностной маршрутизации.
Метод бестолковый, но он существует и даже когда-то применялся о_О
0
positron
22 / 7 / 1
Регистрация: 22.04.2010
Сообщений: 105
23.04.2010, 14:23 #12
Цитата Сообщение от PointsEqual Посмотреть сообщение
вообщем сам алгоритм это 1 строчка ?)
C++
1
while ( arr[pos = rand() % size] != find )
а где примняется такой?
Кстати эта строчка не совсем рациональна, если учесть, что нужного нам решения не существует, то будет бесконечный цикл...
0
easybudda
Модератор
Эксперт CЭксперт С++
9916 / 5839 / 975
Регистрация: 25.07.2009
Сообщений: 11,013
23.04.2010, 14:58 #13
positron, а Вы попробуйте скомпилировать, запустить и ввести не то, что попросит...
0
positron
22 / 7 / 1
Регистрация: 22.04.2010
Сообщений: 105
23.04.2010, 18:31 #14
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{   
    const int size=10;
    int arr[]={0,1,2,3,4,5,6,7,8,9},find,pos;
    printf("Input value: ");
    scanf("%d",&find);
    srand(0);
    while ( arr[pos = rand() % size] != find );
    printf("Result = %d",arr[pos]);
    getch();
}
Если я правильно понял собственно поиск, то если значение отсутствует в массиве, бесконечный цикл....
0
easybudda
Модератор
Эксперт CЭксперт С++
9916 / 5839 / 975
Регистрация: 25.07.2009
Сообщений: 11,013
23.04.2010, 18:58 #15
positron, если бы Вы внимательно посмотрели, заметили бы проверку на допустимость искомого значения
C
1
2
3
4
...
if ( find < 1 || find > 10 )
        exit(1);
...
А вообще это просто пример, который первым в голову пришёл, нечего к нему требования, как к ядру Матрицы предъявлять!

Добавлено через 7 минут
Цитата Сообщение от positron Посмотреть сообщение
Если я правильно понял собственно поиск
Кстати не правильно Вы поняли! Ищется не элемент в массиве, а его индекс.
0
23.04.2010, 18:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2010, 18:58
Привет! Вот еще темы с ответами:

Метод поиска - последовательный с барьером - C++
Нужно найти в каждой строке матрицы координаты элемента, равного k( если таковые имеются). Метод поиска - последовательный с барьером. C++ ...

Метод поиска документа с максимальным количеством позиций - C++
Метод поиска документа с максимальным количеством позиций; метод выводящий сведения о позициях, содержащихся в документах; метод...

Метод поиска по массиву уникальных чисел за один проход - C++
Подскажите какой-нибудь интересный метод поиска по массиву для данного случая: Есть массив {1, 1, 2, 3, 3}; Надо найти неповторяющееся...

Используя метод поиска в ширину, найти и вывести путь в ориентированном графе между двумя вершинами - C++
Ребята день добрый. Задание у меня вот такое: Используя метод поиска в ширину, найти и вывести путь в ориентированном графе между...


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

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

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