С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
forgotera
0 / 0 / 0
Регистрация: 04.04.2017
Сообщений: 1
1

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

04.04.2017, 10:43. Просмотров 301. Ответов 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и

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

Выяснить, сколько раз каждое из слов файла f2 встречается в файле f1
Рассматриваются слова, содержащиеся в символьных файлах f1 и f2....

1
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 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

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

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

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


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

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

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