Не читает слова из файла "input.txt" (24 строчка). Если getline заменить на fin >> word, то ничего не изменится. В чем проблема?
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
string wordsChecker(string checkWord) // функция для проверки слова
{
for (int i = 0; i < checkWord.length() - 1; i++)
{
if (checkWord[i] && checkWord[i + 1] == 'б', 'в', 'г', 'д', 'ж', 'з', 'к', 'л', 'м', 'н', 'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'Б', 'В', 'Г', 'Д', 'Ж', 'З', 'К', 'Л', 'М', 'Н', 'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ')
{
return checkWord;
}
}
}
int main() {
setlocale(LC_ALL, "Russian");
string word;
ifstream fin("input.txt"); // текстовый файл для чтения
while (!fin.eof()) // цикл для вывода и получения слов
{
getline(fin, word);
cout << wordsChecker(word) << ' ';
}
system("pause");
return 0;
}
Ну, я бы делал примерно так (не тестировал, для изложения идеи):
bool check(const string& word)
{
static char * vowels = "аеиоуэюяАЕИОУЭЮЯ";
for(int i = 0; i < word.length()-1; ++i)
if (strchr(vowels,word[i]) && strchr(vowels,word[i+1]))
return true;
return false;
}
int main()
{
setlocale(LC_ALL, "Russian");
string word;
ifstream fin("input.txt"); // текстовый файл для чтения
while(fin>>word)
if (check(word)) cout << word << endl;
system("pause");
return 0;
}
Отдельный вопрос с кодировками, конечно... Для начала я бы подрессировал программу на английских текстах :)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники