C/C++

Выбрать из текста слова, в которых имеются удвоенные согласные буквы

С клавиатуры вводится полноценный текст, с любыми знаками препинания, пробелами и т.д. Текст вводится на любом языке, по выбору.
Выбрать из текста, и распечатать столбиком с нумерацией, слова, в которых есть удвоенные согласные буквы.
Для решения задачи можно использовать либо массив и строки типа char, либо массив и строки типа wchar_t.
Задача должна быть выполнена с помощью стандартных библиотек, чтобы программа могла одинаково работать как в ОС Windows, так и в ОС Linux и ОС Android.
Программы, нормально работающие только в одной из указанных ОС, не считаются решением задачи.
 #include  
#include
#include
#include
#include
#include

using namespace std;

bool find_word(const string& word) {
string vowels{ "aeiouy" };
const auto n = word.length();
for (size_t i = 1; i < n; ++i) {
const char a = tolower(word[i]);
const char b = tolower(word[i - 1]);
if (a > 0 && b > 0 && a == b && vowels.find(a) == string::npos) {
return true;
}
}
return false;
}

int main() {
cout > word) {
if (find_word(word)) {
cout
Андрей Кочков
Андрей Кочков
91 823
Лучший ответ
Полноценный, удвокнные , массив
 #include  
#include
#include

#define BUFFER_SIZE 256

#define DELIM L" "

static const wchar_t *vowels = {
L"ауоиэыяюеёАУОИЭЫЯЮЕЁ" // russian
L"aeiouyAEIOUY" // english
// ...
};

static size_t _no = 0;

static int is_vowel(wchar_t ch) {
int i;

if (!ch) {
return 1;
}

for (i = 0; vowels[i]; i++) {
if (vowels[i] == ch) {
return 1;
}
}

return 0;
}

static void word_print(const wchar_t *word)
{
wprintf(L"%-4lu | %ls\n", ++_no, word);
}

static int word_check(const wchar_t *word)
{
do {
if ((*word == word[1]) && !is_vowel(*word)) {
return 1;
}

} while (*word++);

return 0;
}

int main(void)
{
wchar_t buffer[BUFFER_SIZE] = { L'0' };
wchar_t *token, *state;

setlocale(LC_CTYPE, "");

fgetws(buffer, BUFFER_SIZE, stdin);

token = wcstok(buffer, DELIM, &state);

do {
if (word_check(token)) {
word_print(token);
}

} while (token = wcstok(NULL, DELIM, &state));

return 0;
}
Wladimir Bauer
Wladimir Bauer
1 893