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

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

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

Подсчитать, сколько раз каждое слово встречается в файле - C++

04.04.2017, 10:43. Просмотров 246. Ответов 1
Метки нет (Все метки)

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
#include<iostream>
#include<fstream>
#include <conio.h>
#include <string>
#include <cstdio>
 
using namespace std;
struct MyStruct
{
    string word;
    int number=0;
};
 
int main()
{
    MyStruct zap;
    string buff;
    ifstream input;
    input.open("input.txt", ios_base::in);
    if (!input.is_open())
    {
        cout << "file  input not open" << endl;
        _getch();
        return -1;
    }
    fstream output;
    output.open("output.txt", ios_base::in | ios_base::app);
    if (!output.is_open())
    {
        cout << "file  output not open" << endl;
        _getch();
        return -1;
    }
        while (!input.eof())
        {
            input >> buff;                      //считать слово из входного файла в буффер
            if (buff.length() != 10)            //если слово не 10 байт,добвать _(приводим к 10 байтам)
            {
                buff = buff.insert(buff.length(), 10 - buff.length(), '_');
            }
            output >> zap.word;                         //считать слово из выходного файла
            if (buff == zap.word)                       //если слова равны
            {
                output.seekg(2, ios_base::cur); //сместиться на 2 байта для считывания 
                output >> zap.number;           //считать кол-во слова 
                zap.number++;                   
                output.seekp(2, ios_base::cur);//сместиться на 2 для записи
                fstream::pos_type markout = output.tellp();//не очень понятные две строки , 
                                                           //вроде запоминаем позицую курсора перед переходом на новую строку
                ifstream::pos_type markin = input.tellg();
                output << zap.number << endl;//записать в файл
                input.seekg(markin);
                output.seekp(markout);
            }
            else
            {
                output << buff;       //запист слова в выходной файл
                output.seekp(2, ios_base::cur); //переместиться на 2 байьа 
                output << 1 << endl; // запись кол-ва слова
                fstream::pos_type markout = output.tellp();
                ifstream::pos_type markin = input.tellg();
                input.seekg(markin);
                output.seekp(markout);
            }
        }
        _getch();
        output.clear();
        output.close();
        input.close();
        input.close();
        return 0;
    }



помогите с прогой, нужно посчитать количество всех слов в файле,
пример: входной файл{program program pascal pascal}
выходной файл должен получиться {program 2 pascal 2}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2017, 10:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подсчитать, сколько раз каждое слово встречается в файле (C++):

Подсчитать,сколько раз каждое число встречается в файле - C++
Помогите ,кому нетрудно с лабораторной работой. Задание: подсчитать,сколько раз каждое число встречается в тексте файла number1.txt. Все...

Помогите пожалуйста Сколько раз в тексте встречается каждое слово на Cи - C++
Помогите пожалуйста Сколько раз в тексте встречается каждое слово? на Cи

Помогите пожалуйста Сколько раз в тексте встречается каждое слово? на Cи - C++
Помогите пожалуйста Сколько раз в тексте встречается каждое слово? на Cи

Подсчитать, сколько раз в данном слове х встречается слово у - C++
Написать программу, подсчитывающую, сколько раз в данном слове х встречается (в качестве его части) слово у. какую именно функцию надо...

Подсчитать, сколько раз заданное слово встречается в сообщении - C++
Дано осмысленное текстовое сообщение(т.е. алфавитно-цифровая информация,разделенная пробелами и знаками препинания , в конце которого...

Определить, сколько раз встречается в файле введенное пользователем слово - C++
Дан текстовый файл. Напишите программу, которая определяет, сколько раз встречается в файле введенное пользователем слово. файл:...

1
GbaLog-
Любитель чаепитий
3122 / 1462 / 351
Регистрация: 24.08.2014
Сообщений: 5,175
Записей в блоге: 1
Завершенные тесты: 2
04.04.2017, 10:46 #2
используй std::map<std::string, int>.
при считывании слова делай ++map[buff];
в мапе все значения хранятся в std::pair<const Key, Value>.
после считывания пройдись по мапе и запиши, как тебе надо.
http://en.cppreference.com/w/cpp/container/map
http://en.cppreference.com/w/cpp/utility/pair
http://en.cppreference.com/w/cpp/iterator
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2017, 10:46
Привет! Вот еще темы с ответами:

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

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

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

Сколько раз слово встречается в предложении - C++
Здравствуйте уважаемые программисты. Помогите решить задачу или хотя бы намётки дайте. &quot;Для каждого из слов заданного предложения...


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

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

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