Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MrakSPb
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 8
#1

Обработка текста и вывод в отдельный файл - C++

19.12.2009, 16:24. Просмотров 657. Ответов 5
Метки нет (Все метки)

Добрый день! Есть задание:

В текстовом файле имеется словарь (каждое слово на отдельной строке). Найти в нем слова, которые могут быть полностью составлены из двух и более других слов. Найденные слова (вместе со словами, из которых они составляются) вывести в выходной файл, например:
БАЛКОН=БАЛ+КОН
БАРСУК=БАР+СУК
Прошу помочь с реализацией на C++. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 16:24     Обработка текста и вывод в отдельный файл
Посмотрите здесь:

Чтение текста из текстового фала, обработка слов и вывод в консоль - C++
Задача программы: считать текст из текстового файла; выделить слова с повторяющимися буквами другим цветом; вывести весь текст в консоль. ...

Вывод текста в файл - C++
У меня есть двусвязный список Library, в нем записаны данные про книги.. мне нужно, что бы программа читала данные из текстового файла (я...

Вывод текста в файл - C++
можно ли в c++ форматируемо записывать текст в файл? То есть некоторые слова выделять в файле цветом, или жирным шрифтом?

Не правильно работает вывод текста в файл - C++
Не срабатывает сортировка, прописанная в строке 16 и в файл записывается вся строка Text int main() { char Text =...

Неправильный вывод в бинарный файл с урезанием текста - C++
Ниже приведена программа которая урезает текст.Все бы хорошо но она при выводе в файл "кушает" символ новой строки.Например есть такой файл...

Шифр цезаря, ввод текста с клавиатуры, вывод в файл - C++
Здравствуйте, возникла проблема - Задали мне задание и дали срок 4 месяца, я благополучно как смог написал программу за недею, но в...

Функции в отдельный файл - C++
Всем доброго времени суток! У меня есть основной файл в нем main и парочка больших функций. Я вынес эти две функции в отдельный файл...

Перемещение функций в отдельный файл - C++
Необходимо функции для ввода, вывода и обработки массива разместить в отдельном файле. Внутри функции весь доступ к элементам массива...

Вынос класса в отдельный файл - C++
Использую MS VS 2013 Ultimate Учусь программировать, решил попробовать написать морской бой. Решил создать класс игрока, в котором бы...

Перенести функции в отдельный файл - C++
Сейчас у меня всё в одном файле Source.cpp, как перенести все функции в другой файл Header.h(или какой-нибудь другой), где его создать?...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.12.2009, 17:58     Обработка текста и вывод в отдельный файл #2
выложи фаил со словами
MrakSPb
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 8
19.12.2009, 18:02  [ТС]     Обработка текста и вывод в отдельный файл #3
TanT,
Вложения
Тип файла: txt input.txt (56 байт, 21 просмотров)
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.12.2009, 20:27     Обработка текста и вывод в отдельный файл #4
работает с учётом регистра

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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char *File="input.txt";
    string str;
    vector<string> dictionary, buf;
    bool flag;
 
    ifstream f(File);
    if (!(f.is_open()))  // проверка наличия файла с тестом
    { cout<<"ERROR: not file "<<File; system("PAUSE"); exit(1); }
 
    ofstream fileOut;   fileOut.open("output.txt");
 
 
    while(!f.eof()) // чтении из файла
    {   
        getline(f, str);
        dictionary.push_back(str);
    }
 
    for (vector<string>::iterator word=dictionary.begin(); word!=dictionary.end(); word++)
    {
        flag=false; // 
        str=*word;
        //cout<<"*word__: "<<*word<<endl;
        buf.clear();
        do
        {
            for (vector<string>::iterator it=dictionary.begin(); it!=dictionary.end(); it++)
            if(((*word).length()>(*it).length())&&(str.length()>=(*it).length()))   
                if(str.find((*it))==0) 
                {
                //  cout<<"*it: "<<*it<<" ";
                //  cout<<"bstr: "<<str<<" ";
                    str=str.substr((*it).length()); 
                    //cout<<"astr: "<<str<<" ";
                    flag=true;
                    buf.push_back(*it);
                    //cout<<"find&cut: "<<str<<endl;
                    break;
                }
        }while (flag&&(!str.empty()));  // цикл выполняется пока за проход находиться слово которое содержиться в искомом слове
 
        if ((!buf.empty())&&(str.empty()))  // 
        {
            fileOut<<*word<<":";
            for (vector<string>::iterator b=buf.begin(); b!=buf.end(); b++)
                fileOut<<" "<<*b;
            fileOut<<endl;
        }
    }   // end for (vector<string>::iterator word
        
 
    f.close();
    //cout << endl;
    //system("PAUSE");
    return 0;
}
MrakSPb
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 8
19.12.2009, 20:49  [ТС]     Обработка текста и вывод в отдельный файл #5
TanT, спасибо за отзывчивость и оперативность!

Возможно ли сделать так, чтобы программа работала без учета регистра?
И желательно без использования библиотек <vector>, <algorithm>.. Просто боюсь не смогу объяснить преподавателю принцип работы алгоритма
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
20.12.2009, 14:55     Обработка текста и вывод в отдельный файл #6
как раз если городить без <vector>, <algorithm>, то точно не объяснишь, лучше почитай что делает sort и для чего нужен vector.

без учёта регистра сделать можно, но сложнее. можно использовать дополнительный массив который будет хранить слова переведённые в один регистр и уже работать с ним, потом заложить возможность определить соответствие изначальных слов словам из дополнительного массива.
Yandex
Объявления
20.12.2009, 14:55     Обработка текста и вывод в отдельный файл
Ответ Создать тему
Опции темы

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