Как вывести индекс элемента вектора по наличию в нём определённого значения

Вообщем, у меня есть проблема и её очень тяжело описать, но я попробую.

К примеру: есть вектор с двумя строками. Дальше я ищу к примеру букву o. Если он есть в 1-ой строке вектора, то выводится индекс строки, т.е. 0, но если буквы о нет в 1-ой строке, а есть во 2-ой, то следовательно выводим 1, а если вообще нигде нет буквы о, то выводим -1.

Думаю немного, но суть передал.

vector<string> lorem = {"Lorem Ipsum is simply dummy text of the printing and typesetting
industry.", "Xorem Ipsum has been the industry's standard dummy"};


// псевдокод
auto a = lorem.find('o'); // a = 0, т.к. в 1-ой строке есть "о"

auto b = lorem.find('X'); // b = 1, т.к. во 2-ой строке есть "X"

Ответы (2 шт):

Автор решения: user393524

Цикл по всем элементам с std::string::find(). Нашли - выходим, не нашли продолжаем.

Псевдокод:

bool found = false;
size_t index = 0;

while (!found) {
    str = strings[index++];
    found = str.find_first_of(symbol) != npos;
}
→ Ссылка
Автор решения: bipll
std::find_if(lorem.cbegin(), lorem.cend(),
             [](auto const &s){ return s.find('o') != s.npos; });
→ Ссылка