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

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

Войти
Регистрация
Восстановить пароль
 
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
#1

Алгоритм поиска - C++

02.08.2013, 16:47. Просмотров 693. Ответов 7
Метки нет (Все метки)

есть ли в STL алгоритм принимающий упорядоченный интервал и проверяющий, содержит ли данный интервал последовательность из N элементов, соседние элементы отличаются на единицу
ПРимер : 3 5 6 7 9 - содержит 3 элемента отл на единицу 2 3 10 11 12 13 содержит 4 элемента
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм поиска (C++):

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab () { int s1 = 0; int s2 =...

Алгоритм поиска А* - C++
Помогите написать код на с++,реализирующий алгоритм поиска А*, пожалуйста. ...

Алгоритм поиска в ширину - C++
Вот тут нашел реализацию алгоритма поиска в ширину кратчайших расстояний в графе. По идее расстояния должны храниться в массиве d, но ответ...

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

Алгоритм поиска пути - C++
Ребята, помогите разобраться с кодом. Пробую реализовать преследование привидений пакмана. При этом использую алгоритм поиска пути и...

Алгоритм поиска в матрице - C++
Народ, если поможете, буду вообще супер благодарен. Задание такое:"Найти квадрат максимальной площади в матрице и выписать координаты его...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rrrFer
Заблокирован
02.08.2013, 17:15 #2
нет
1
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
02.08.2013, 17:54 #3
слабо "hello world" без STL написать?
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
02.08.2013, 18:29 #4
Разве count_if-ом подсчитывать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<int> v{2, 3, 10, 11, 12, 13, 14, 14, 20};
 
    int count = v.front();
    std::cout << std::count_if(v.begin()+1, v.end(), [&count](const int val)->bool
    {
        if (++count == val) return true;
        else {count = val; return false;}
    });
 
    return 0;
}
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
02.08.2013, 18:54  [ТС] #5
Цитата Сообщение от salam Посмотреть сообщение
слабо "hello world" без STL написать?
причем здесь слабо? я решение нашёл, просто интересно есть ли такое в STL
0
rrrFer
Заблокирован
02.08.2013, 19:02 #6
DiffEreD, твой код как бэ ваще отношения к задаче не имеет )
твой код вернет последний элемент последовательности (в count), но смотри в задачу.
требуется последовательность ровно из N элементов (т.е.) если если последовательность длин 2 3 7 8 и N = 7 - то ответ должен быть утвердительным

и count_if тут имхо некрасиво вкручен, мало того, что какой то count приходится захватывать, дак еще и этот count хранит черт знает что ))

просто интересно есть ли такое в STL
да в STL не так уж и много алгоритмов есть. Загляни на cplusplus
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
02.08.2013, 19:03  [ТС] #7
Цитата Сообщение от DiffEreD Посмотреть сообщение
Разве count_if-ом подсчитывать:
поскольку посл отсортирована и не имеет дубликатов(возможно забыл указать) то просто циклически сравниваем col[i] == (col[i+N]-N)
где N требуемая длина искомой последовательности
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
02.08.2013, 19:41 #8
для произвольных последовательностей есть
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<int> arr {1, 2, 3, 10, 4};
    std::vector<int> subarr {2, 3, 10};
    if ( std::search(begin(arr), end(arr), begin(subarr), end(subarr)) != end(arr) ) {
        std::cout << "yes\n";
    } else {
        std::cout << "no\n";
    }
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 19:41
Привет! Вот еще темы с ответами:

Алгоритм поиска в ширину - C++
Подскажите, пожалуйста, алгоритм поиска в ширину в неориентированном графе

Алгоритм поиска библиотек - C++
У меня нет опыта работы с C++ в рамках больших проектов, но только в относительно небольших учебных задачах, и нет опыта работы с...

Алгоритм поиска в глубину - C++
Мне нужен сам алгоритм, как программа на С ++, желательно с пояснениями к строкам. Может кто-то помочь написать?

Алгоритм последовательного поиска - C++
Добрый вечер. Уважаемые программисты! Прекрасно понимаю, что задаю элементарные вопросы, но не имею представления, что делать вот с таким...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.08.2013, 19:41
Ответ Создать тему
Опции темы

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