Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 6
1

Дан файл, содержащий текст с русскими и английскими словами. Вывести в отдельные файлы русские и английские слова

17.06.2019, 19:08. Просмотров 806. Ответов 1
Метки нет (Все метки)

Дан файл, содержащий текст с русскими и английскими словами.
Вывести в отдельные файлы русские и английские слова.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2019, 19:08
Ответы с готовыми решениями:

Дан файл, содержащий текст, записанный строчными русскими буквами
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же...

Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же...

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

Дан текст, включающий русские и английские буквы, а также цифры
Дан текст, включающий русские и английские буквы, а также цифры, подсчитать и вывести на экран...

1
1458 / 924 / 807
Регистрация: 30.04.2016
Сообщений: 3,184
20.06.2019, 17:37 2
Тири, здравствуйте! Для решения данной задачи можно пользоваться разными алгоритмами, включая составление русскоязычного словаря, использование регулярных выражений и т.д. Все зависит от того насколько "строгое" разделение на слова вам требуется. Под словом "строгое" я лишь имею ввиду, что если предположить, что слово - это всегда либо последовательность русских букв, либо последовательность латинских букв, то решение данной задачи сводится к "неформальной" проверке слова, то есть не требуется проверка каждой его буквы для выделения. Для упрощения я решил так и поступить в вашем случае и просто разбиваю файл на слова с учетом знаков препинания и пробелов и проверяю первую букву слова на принадлежность русскому или латинскому словарю и, далее, распределяю слова по соответствующим файлам. Если вам требуется более серьезная проверка, то обязательно отпишитесь. А пока вот решение вашей задачи:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
Дан файл, содержащий текст с русскими и английскими словами.
Вывести в отдельные файлы русские и английские слова.
*/
 
#include <iostream>
#include <string>
#include <fstream>
#include <cctype>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string s, tmp;
    ifstream in("input.txt");
    ofstream rus("rus.txt");
    ofstream eng("eng.txt");
    if (!in.fail()) {
        tmp = "";
        while (getline(in, s)) {
            s += " ";
            for (int i = 0; i < s.length(); i++) {
                tmp += s[i];
                if (ispunct(s[i]) || isblank(s[i])) {
                    tmp.pop_back();
                    if (tmp != "") {
                        if (isalpha(tmp[0])) {
                            eng << tmp << "\n";
                        } else {
                            rus << tmp << "\n";
                        }
                    }
                    tmp = "";
                }
            }
        }
    } else {
        cout << "File input.txt was not found!\n";
    } 
    in.close();
    rus.close();
    eng.close();
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2019, 17:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дан текст, между словами один или несколько пробелов . Верно ли, что в тексте имеет по - крайней мере 3 слова, содержащий букву "т"?
Дан текст, между словами один или несколько пробелов . Верно ли, что в тексте имеет по - крайней...

Дан файл, содержащий текст. Выбрать из него слова, которые заканчиваются на букву определенную пользователем, и записать их в новый файл
Дан файл, содержащий текст. Выбрать из него слова, которые заканчиваются на букву определенную...

Дана строка, содержащая текст, включающий русские и английские слова. Подсчитать, каких букв в тексте больше - русских и
Дана строка, содержащая текст, включающий русские и английские слова. Подсчитать, каких букв в...

Дан файл, содержащий текст на русском языке. Найти слова, встречающиеся в каждом предложении, или сообщить, ч
Дан файл, содержащий текст на русском языке. Найти слова, встречающиеся в каждом предложении, ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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