0 / 0 / 0
Регистрация: 20.04.2018
Сообщений: 38
1

Исключение из текста строк, содержащих заданный символ заданное количество раз

21.09.2019, 01:11. Показов 1195. Ответов 0
Метки нет (Все метки)

Здравствуйте, помогите, люди добрые, кто чем может код написать, а то боженька умом программистским обделил.
Нужно найти такие строки, которые содержат символ, заданный пользователем, и удалить столько таких строк, сколько пользователь пожелает.

Вот пример работы другого варианта, который сделан как надобно и задание которого: вставка одного пробела после каждого появления заданного символа. Вставляется не более заданного числа пробелов в строке,

Пример привёл на всякий случай. Строк много, да может и полезными кому окажется, кто знает

Пример:
Название исходника "9.cpp":
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
#include <iostream>
#include "iomanip"
#include "conio.h"
#include <windows.h>
#include <stdio.h>  
#include <stdlib.h> 
#include <fstream>
#include <stdlib.h> 
#include <string>
#include "func.h"
using namespace std;
 
extern int chislo, n, i;
extern string filein, fileout, st;
extern char chin, ch;
 
ifstream fin;
ofstream fout;
 
int main(int argc, char* argv[]) //D:\cpp\9\Debug\9.exe txt.txt out.txt 7 a
{
    setlocale(LC_ALL, "rus");
    checkarg(argc, argv);
    fin.open(filein);
    fout.open(fileout);
    sep();
 
    if (fin.is_open())
    {
        while (fin.get(ch))
        {
            cout << ch;
            fout << ch;
            if ((ch == chin)&&(i<n))
            {
                i++;
                cout << " ";
                fout << " ";
            }
            if (ch == '\n')
            {
                i = 0;
            }
        }
        cout << endl;
        sep();
        fin.close(); // закрываем файл
        fout.close();
    }
    else
    {
        cout << "Входного файла не существует." << endl;
        sep();
    }
 
    system("pause");
    return 0;
}
Название исходника "data.cpp":
C++
1
2
3
4
5
6
7
#include <string>
using namespace std;
 
int chislo, n = 3, i=0;
string filein = "txt.txt", fileout = "out.txt", st;
char chin = 'а', ch;
bool bln = false;
Название исходника "func.cpp":
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
#include <iostream>
#include "iomanip"
#include "conio.h"
#include <windows.h>
#include <stdio.h>  
#include <stdlib.h> 
#include <fstream>
#include <stdlib.h> 
#include <string>
#include "func.h"
using namespace std;
 
extern int chislo, n;
extern string filein, fileout, st;
extern char chin, ch;
extern bool bln;
 
void sep()
{
    cout << "--------------------------------------------------------------------" << endl;
}
 
bool foundarg(int argc)
{
    if ((argc > 1) && (argc < 6))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
 
void checkarg(int argc, char* argv[])
{
    if (foundarg(argc))
    {
        switch (argc)
        {
        case 2:
        {
            filein = argv[1];
            break;
        }
        case 3:
        {
            filein = argv[1];
            fileout = argv[2];
            break;
        }
        case 4:
        {
            filein = argv[1];
            fileout = argv[2];
            n = atoi(argv[3]);
            break;
        }
        case 5:
        {
            filein = argv[1];
            fileout = argv[2];
            n = atoi(argv[3]);
            chin = *argv[4];
            break;
        }
        }
    }
    else
    {
        sep();
        cout << "Вы ввели либо ни одного параметра, либо слишком много параметров." << endl << "По умолчанию:" << endl;
        cout << "Входной файл: txt.txt" << endl << "Выходной файл: out.txt" << endl << "Колличество пробелов: 3" << endl << "Символ: \"a\"" << endl;
        sep();
        bln = 1;
    }
    if (!bln)
    {
        cout << "Входной файл: " << filein << endl << "Выходной файл: " << fileout << endl;
        cout << "Символ: " << chin << endl << "Колличество пробелов: " << n;
    }
}
Название исходника "func.h":
C++
1
2
3
4
#pragma once
void sep();
bool foundarg(int argc);
void checkarg(int argc, char* argv[]);
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2019, 01:11
Ответы с готовыми решениями:

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

Поиск в файле строк, содержащих заданный символ, с пропуском строк с определёнными порядковыми номерами
Имеется файл отчета otchet.txt. Найти строки содержащие значёк # (решетка). Но при поиске...

Определить количество слов в строке, содержащих заданный символ
С клавиатуры вводится строка, которая состоит из слов, разделенных одним или несколькими пробелами....

Как в исходной строке b$ определить количество слов, содержащих хотя бы один заданный символ x$
В исходной строке b$ определить количество слов, содержащих хотя бы один заданный символ x$.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2019, 01:11
Помогаю со студенческими работами здесь

Из текста удалить заданный символ, каждый раз сдвигая оставшуюся часть каждой строки “влево”
Из текста удалить заданный символ, каждый раз сдвигая оставшуюся часть каждой строки “влево”.

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

Найти слова, в которых заданный символ встречается наибольшее количество раз
Доброе время суток еще раз :) Нужна помощь в написании программы на Асемблере. Буду благодарен за...

Вывести на экран символ ASCII таблицы заданное количество раз
Всем привет. надо вывести на экран символ аски таблицы такое кол во раз, какое значение хранится в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru