С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Создать текстовый файл с предметным указателем встречающихся в тексте слов - C++

04.06.2014, 16:38. Просмотров 492. Ответов 1
Метки нет (Все метки)

помогите разобрать программу. напишите коментарии.

Требуется: осуществить обработку текстового файла, содержащего некоторый многостраничный текст. Будем считать, что одна страница текста состоит из 60 строк. Результат обработки – текстовый файл, содержащий предметный указатель встречающихся в тексте слов. В предметном указателе перечисляются слова в алфавитном порядке. Для каждого слова указывается количество его вхождений в текст и номера страниц, на которых встречается это слово. При формировании предметного указателя, слова, начинающиеся с разных букв
алфавита разделяются на группы:
А
a.............................120: 1 2 3 4 5 6 7 8 9 10 11 12
and............................89: 1 2 3 6 8 9 12
apple...........................3: 7 9
B
bag.............................2: 11 12
big.............................7: 5 7 10
C
cake............................1: 3
circle..........................3: 8 9
. . . и т.д.
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
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector> 
#include <set>
#include <map>
#include <string>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
 
int main()
{
    char punct[6]={'.',',',':',';','!','?'};
    set<char> punctuation(punct, punct +6);//??
    ifstream in("input.txt");
    map <string, int>wordcount;//??
    string s;
    while (in>>s)//??
    {
        int n =s.size();
        if (punctuation.count(s[n-1]))
            s.erase(n-1,n); 
        if(isupper(s[0])) s[0]=s[0]+32;
        ++wordcount[s];
    }
    in.close();
    ofstream out ("output.txt");
    map<string,int> ::const_iterator it=wordcount.begin();//??
    for(it; it!=wordcount.end();it++)
        out<<setw(20)<<left<<it->first<<setw(4)<<right<<it->second<<endl;
    char i='a';
    out<<endl;
    out<<char(i-32)<<":"<<endl;//??
    for(it=wordcount.begin();it!=wordcount.end();it++)//??
        if((*it).first[0]==i) out<<setw(20)<<left<<it->first<<setw(4)<<right<<it->second<<endl;
        else  
        {
            i=(*it).first[0]; out<<endl<<char(i-32)<<":"<<endl; out<<setw(20)<<left<<it->first<<setw(4)<<right<<it->second<<endl;
        }
        out.close();
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 16:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать текстовый файл с предметным указателем встречающихся в тексте слов (C++):

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

Создать текстовый файл содержащий все группы слов из словаря отличающиеся расположением букв - C++
Нужно сделать лабу,я впринципе копирование сделал,но вот только он дальше проверки 1ого слова не идёт =( Дан текстовый файл-словарь (в...

Перевод с C# на С++ (в заданном тексте найти 20 наиболее часто встречающихся слов с указанием количества использования каждого из них) - C++
Помогите пожалуйста перевести с C# на С++.... Я не очень хорошо сейчас знаю библиотеку STL... Задание такое: В заданном тексте найти 20...

Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым - C++
Добрый день, помогите пожалуйста сделать вот такую программу. Даны натуральное k , символьный файл f и текстовый файл f1 . Файл f...

дан входной текстовый файл. Вывести в выходной файл строку с максимальным количеством слов - C++
Дан входной текстовый файл (одна строка – одно предложение). Вывести в выходной файл строку (строки) с максимальным количеством слов.

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Здравствуйте, мне вот задание дали. Подскажите алгоритм решения, а то я не очень с этим разбираюсь. Задача: Дан файл, содержащий текст....

1
hom4ka
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 78
17.10.2014, 13:18 #2
Можно такую же лабу на c# ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2014, 13:18
Привет! Вот еще темы с ответами:

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? Помогите пожалуйста

C++ priority_queue< int , char*, CompareHeap1 > pqMax (создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов) - C++
Выполняю задачу &quot;Частотный словарь&quot;, необходимо создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов. ...

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

STL: Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза - C++
Помогите написать программу!! Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза. ...


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

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

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