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

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

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

Добавить счетчик количества произведенных замен текста в программу - C++

19.06.2014, 07:28. Просмотров 197. Ответов 0
Метки нет (Все метки)

помогите пожалуйста! имеется программа, ищущая заметы в тексте. Текст и список замен берутся из отдельных файлов. на защите программы препод сказал сделать, что бы исходная заменяемая подстрока и ее замена выводились на консоль и посчитать число раз, сколько раз замена применялась. помогите сделать этот счетчик, который считает количество раз использования замены
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <conio.h>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#pragma hdrstop
#pragma argsused
 
 
int main() {
 
    string line;
    std::ifstream repls_file("replaces.txt");
    vector< pair< string, string > > repls;
    while (getline(repls_file, line)) {
        unsigned pos = line.find(';');
        if (pos == string::npos) {
            cout << "Error: Incorrect file with replaces." << endl;
            return 0;
        }
 
 
 
        repls.push_back(make_pair(
                line.substr(0, pos), line.substr(pos + 1)));
    }
    repls_file.close();
 
 
 
    std::ifstream input_file("input.txt");
 
    std::ofstream output_file("output.txt");
    while (getline(input_file, line)) {
 
        string new_line;
 
        for (unsigned i = 0; i < line.length(); i++) {
 
            bool replaced = false;
            for (unsigned j = 0; j < repls.size(); j++) {
 
                string &old_frag = repls[j].first;
 
 
                if (line.length() - i < old_frag.length())
                    continue;
 
 
                bool is_matches = true;
                for (unsigned k = 0; k < old_frag.length(); k++)
                    if (line[i + k] != old_frag[k]) {
 
                        is_matches = false;
                        break;
 
                    }
                {
                for (int counter = 0; counter <n; counter++)
                if (is_matches) {
                    new_line += repls[j].second;
 
                    i += old_frag.length() - 1;
                    replaced = true;
                    //cout<< new_line <<""<<endl;
                    cout<<old_frag<<'-'<< repls[j].second  <<endl;
 
                    cout<<" "<< counter<<endl;
                    break;
 
 
 
 
 
 
                }
                }
            }
 
 
            if (!replaced)
                new_line += line[i];
        }
 
        output_file << new_line << endl;
 
    }
 
 
    output_file.close();
    input_file.close();
    getch();
    return 0;
}
Добавлено через 7 минут
я начал, но не получается
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 07:28     Добавить счетчик количества произведенных замен текста в программу
Посмотрите здесь:

В заданном тексте заменить посдледовательность символов X(I) на А(I) и подсчитать число произведенных замен - C++
В заданном тексте заменить посдледовательность символов X(I) на А(I) и подсчитать число произведенных замен.

Куда в программе добавить счетчик для поиска количества перестановок и сравнений? - C++
void InsertSort(int *mas, int N) //сортировка вставками { int i,key=0,temp=0; int count_compare=0, count_swap; for (i=0; i&lt;N-1;...

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

Количество произведенных сравнений в Быстрой Сортировке - C++
Помогите подсчитать выполненное количество сравнений при алгоритме быстрой сортировки. Не могу определиться, куда нужно вставить счетчик. ...

Нужно вставить счетчик операций в программу - C++
Здравствуйте товарищи программеры тут такая ситуация Есть уже написанная прога Единственно в чем я вас прошу помочь: ...

Добавить в данный код функцию вывода на экран количества не четных элементов массива - C++
Доброго времени суток. Помогите пожалуйста добавить в данный код функцию вывода на экран количества не четных элементов массива: #include...

Вывести на экран из текста только предложения, состоящие из заданного количества слов - C++
Помогите решить задачку: Вывести на экран из текста только предложения, состоящие из заданного количества слов. Знаю, решение этой...

Слова английского текста рассортировать по возрастанию количества заданной буквы в слове - C++
Создать динамический массив строк как динамический массив указателей на строки . Слова английского текста рассортировать по возрастанию...

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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