Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
alchemist_667
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 15
#1

Работа с текстовыми файлами. Преобразовать текст, записав ключевые слова прописными буквами, а остальные строчными

10.04.2013, 17:11. Просмотров 622. Ответов 3
Метки нет (Все метки)

Доброго времени суток всем! Помогите пожалуйста решить задачу. В одном файле дан исходный текст программы на языке C, в другом - словарь ключевых слов этого языка. Преобразовать текст, записав ключевые слова прописными буквами, а остальные строчными.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 17:11
Ответы с готовыми решениями:

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

Переписать файл так, чтобы слова в кавычках выделялись прописными буквами
Ребята, помогите, пожалуйста, дописать программу. Нужно сделать так, что есть...

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

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

Разделить один двусвязный список на два: со строчными и прописными символами
Разбить двусвязный список, состоящий из N символов латинского алфавита, на 2...

3
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
10.04.2013, 20:29 #2
Вот здесь очень похожая задача решалась: Подсветить идентификаторы с файла
0
xtorne21st
интересующийся
304 / 275 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
10.04.2013, 21:11 #3
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <fstream>
#include <iostream>
#include <vector>
#include <string>
#include <cctype>
#include <iterator>
#include <cstdlib>
#include <algorithm>
 
std::string handle(std::string& ln,
        const std::vector<std::string>& clue_words)
{
    std::vector<std::string>::const_iterator it = clue_words.begin();
    std::string::iterator fnd;
    std::string::iterator to_lw = ln.begin();
    for ( ;it != clue_words.end(); ++it)
    {
        fnd = std::search(ln.begin(), ln.end(), it->begin(), it->end());
        for ( ;to_lw != fnd && to_lw != ln.end(); ++to_lw)
        {
            if (isalpha(*to_lw))
            {
                *to_lw = tolower(*to_lw);
            }
        }
        if (fnd != ln.end())
        {
            std::string::const_iterator tmp1 = fnd;
            std::string::const_iterator tmp2 = it->begin();
            while (tmp2 != it->end())
            {
                ++tmp1; ++tmp2;
            }
            if (isspace(*tmp1))
            {
                while (isalnum(*fnd))
                {
                    *fnd = toupper(*fnd);
                    ++fnd;
                }
            }
        }
        to_lw = fnd;
    }
    return ln;
}
 
int main()
{
    std::ifstream ins("source_cpp.cpp", std::ios::in);
    std::ifstream ink("keywords.txt", std::ios::in);
    std::ofstream out("source_c_result.c", std::ios::out);
 
    if (!ins || !ink || !out)
    {
        std::cerr << "Couldn't open file(s)\n";
        exit(1);
    }
 
    std::istream_iterator<std::string> is(ink);
    std::istream_iterator<std::string> eos;
    std::vector<std::string> kw(is, eos);
 
    std::string line;
    while (std::getline(ins, line))
    {
        out << handle(line, kw) << '\n';
    }
 
    ins.close();
    ink.close();
    out.close();
 
    return 0;
}
Добавлено через 48 секунд
Список ключевых слов должен быть разделён пробельными символами.
0
alchemist_667
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 15
10.04.2013, 21:37  [ТС] #4
Спасибо большое всем!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 21:37

Работа с текстовыми файлами
Функция копирует с одного файла в другой, не подскажите как улучшить ее? И есть...

Работа с текстовыми файлами
Здравствуйте! Как подсчитать количество букв, которые встретились в тексте...

Работа с текстовыми файлами
Здравствуйте. Сегодня писал программу, в которой нужно считать строки из файла...


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

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

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