Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/88: Рейтинг темы: голосов - 88, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 13.10.2016
Сообщений: 3
1

Найти индекс искомого слова в векторе

25.05.2019, 02:04. Показов 17510. Ответов 3

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
    vector <string> v = {"one", "two", "three", "four", "five"};
    string s = "two";
    int n = find(v.begin(), v.end(), s); // ЗДЕСЬ ОШИБКА КОМПИЛЯЦИИ
    cout << n;
    return 0;
}
Простейший тупейший код, надо найти индекс искомого слова.
error: no matching function for call to ‘find(std::vector<std::__cxx11::basic_string<char> >::iterator, std::vector<std::__cxx11::basic_string<char> >::iterator, std::__cxx11::string&)’
int n = find(v.begin(), v.end(), s);
Кто-нибудь, помогите, я свихнусь от этого бреда...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2019, 02:04
Ответы с готовыми решениями:

Работа со строками. Вывод искомого слова
Программа находит в тексте слово red. вот текст файла: red bred brred bread skinred...

Вернуть индекс последнего с конца элемента E в векторе V
подскажите нужно сделать следующие ------find_last(v, e) - вернуть индекс элемента e в векторе v,...

Найти индекс начала слова максимальной длины
Здравствуйте. Дано символьный массив L(20), нужно найти индекс начала слова максимальной длины. ...

Cделать ввод с клавиатуры 20 слов и найти индекс максимального слова
Нужно сделать ввод с клавиатуры 20 слов и найти индекс максимального слова. Может у кого-то есть...

3
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.05.2019, 05:55 2
C++
1
2
3
4
5
    vector<string>::iterator it = find(v.begin(), v.end(), s);
    if (it != v.end())
        cout << *it;
    else
        cout << "Not found!" << endl;
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
25.05.2019, 08:55 3
C++
1
2
3
4
5
6
7
8
9
size_t n=0;
for(;n<v.size();n++)
  if(v[i]==s)
  {
    cout<<n;
    break;
  }
if( n==v.size() );
   cout<<"Not found";
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
25.05.2019, 09:19 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>//std::find
using namespace std;
int main()
{
    vector <string> v = {"one", "two", "three", "four", "five"};
    string s = "two";
    auto n = find(v.begin(), v.end(), s); // ЗДЕСЬ iterator to "two"
    cout <<n-v.begin();// 1
    return 0;
}
но если вектор сортирован то lower_bound гораздо быстрее. На больших векторах при многократном поиске, лучше отсортировать и двоичным поиском.
3
25.05.2019, 09:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2019, 09:19
Помогаю со студенческими работами здесь

Возможно ли получить "константный" индекс в векторе?
Здравствуйте, возможно ли получить &quot;константный&quot; индекс в векторе? Я записываю данные в Vector ...

Найти в векторе индекс максимального числа
Найти в векторе индекс максимального числа и посчитать сумму всех чисел, слежующих после него сам...

Выведите индекс искомого элемента
Формат входных данных: С клавиатуры вводится натуральное число n (n≤100). На следующей...

Написать метод, возвращающий индекс искомого элемента в массиве
Принимает массив интов, и значение типа инт, возвращает индекс массива в котором значение совпадает...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru