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

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

Войти
Регистрация
Восстановить пароль
 
StoneGod
7 / 7 / 0
Регистрация: 23.10.2013
Сообщений: 52
#1

Создать программу, создающую корректный HTML-файл с форматированием, содержащий весь текст из файла - C++

21.04.2014, 01:01. Просмотров 893. Ответов 5
Метки нет (Все метки)

Здраствуйте.
Задание:
Кликните здесь для просмотра всего текста
Имеется два входных файла – файл_с_текстом и файл_словаря. Файл_с_текстом содержит текст в виде последовательностей текстовых строк, разделенных стандартным разделителем строки. Файл_словаря содержит произвольное количество строк, каждая из которых содержит ровно одно слово.

Пример файла_с_текстом:
----НАЧАЛО ФАЙЛА----
Файл_с_текстом содержит текст
в виде последовательностей строк,
разделенных стандартным разделителем
строки. Файл_с_текстом содержит текст
в виде последовательностей строк,
разделенных стандартным разделителем строки.
----КОНЕЦ ФАЙЛА----

Пример файла_словаря:
----НАЧАЛО ФАЙЛА----
текст
виде
изображение
файл
----КОНЕЦ ФАЙЛА----

Необходимо создать программу, создающую корректный HTML_файл, содержащий весь текст из файла_с_текстом в котором помечены жирным и наклонным шрифтом все слова из файла_словаря. HTML_файл должен отображаться в любом Internet-браузере (IE, Firefox, Chrome и др.) корректно, показывая весь текст, с выделением указанных слов.


Подскажите пожалуйста алгоритм с помощью которого можно пробегаться по словама из словаря и заменять на жирный в тексте. У меня есть вариант пробегаться по сивольно, между пробелов, но это не оптимально. Может можно делить текст на массив слов по пробелам и потом сравнивать сразу слова, как методом splice в js?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 01:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать программу, создающую корректный HTML-файл с форматированием, содержащий весь текст из файла (C++):

Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла - C++
Дано число k (&lt; 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного...

Создать файл g, содержащий элементы файла f - C++
Дан файл целых чисел не содержащий нулей. Используя один вспомогательный файл, создать файл g, содержащий элементы файла f, размещённые...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла - C++
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Создать текстовый файл, содержащий программу на С++ - C++
Моя задача звучит следующим образом: &quot;Дан текстовый файл, содержащий программу на С++. Проверить эту программу на соответствие числа...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся этой буквой - C++
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Как создать возможность сохранять текст в html файл? - C++
Здравствуйте, о лучезарные мастера кодинга в с++. :) Есть некая программа. 1. Пользователь вводит данные. 2. Получает результат...

5
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,605
21.04.2014, 06:16 #2
Попробуй открыть файл через ifstream и читать слова до delimeter = " ". Только сам пробел надо убирать потом, а то он не извлекается вместе с фрагментом.
1
StoneGod
7 / 7 / 0
Регистрация: 23.10.2013
Сообщений: 52
21.04.2014, 15:44  [ТС] #3
Я написал приблизительно код в котором создается список из словаря и по очередно сравнивает слова из текста со списком, но он вы дыет ошибку в одной строчке и я не знаю почему.
C++ (Qt)
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
#include <fstream>
#include <iostream>
#include <list>
#include <iterator>
#include <algorithm>
#include <string>
#include <cstdlib>
 
using namespace std;
 
typedef istream_iterator<string> ii;
typedef ostream_iterator<string> oi;
 
 
int main(int argc, char* argv[])
{
    //создание и заполнениие списка
    ifstream in("/Users/StoneGod/Desktop/test/test/dic.txt", ios::in);
    if (!in)
    {
        cerr << "error: couldn't open file.\n";
        exit(1);
    }
    list<string> words_list((ii(in)), ii());
    copy(words_list.begin(), words_list.end(), oi(cout, "\n"));
    
    in.close();
    
    
    int k=0;
    list<string>::iterator i;
    char textword[50]; // буфер промежуточного хранения считываемого из файла текста
    ifstream text("/Users/StoneGod/Desktop/test/test/text.txt"); // открыли файл для чтения
 
    while (text >> textword /* считали слов из фаила*/) {
        for (i = words_list.begin(); i!=words_list.end();i++) {
            if (textword == words_list(i)) //вот сдесь выдает ошибку (Type 'list<string>' does not provide a call operator)
                k++;
        }
        cout << textword << endl; // напечатали это слово
    }
 
    return 0;
}
0
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,605
21.04.2014, 15:55 #4
Если взялся работать со string, то не используй строки char, объяви string textword;
А почему используешь list, а не vector?
0
StoneGod
7 / 7 / 0
Регистрация: 23.10.2013
Сообщений: 52
21.04.2014, 16:16  [ТС] #5
с вектором я работать не умею пока что
0
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,605
21.04.2014, 16:52 #6
vector проще list. Как обычный массив.
0
21.04.2014, 16:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 16:52
Привет! Вот еще темы с ответами:

Создать новый файл, содержащий элементы исходного файла в обратном порядке - C++
Дан файл целых чисел. Создать новый файл, содержащий те же элемен-ты, что и исходный файл, но в обратном порядке. помогите буду очень при...

Создать новый файл, содержащий квадраты всех элементов исходного файла - C++
Дан текстовый файл вещественных чисел. Создать новый файл, содержащий квадраты всех элементов исходного файла. Буду очень благодарен за...

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке). - C++
Даны имена двух файлов вещественных чисел. Известно, что первый из них существует и является непустым, а второй в текущем каталоге...

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


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

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

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