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

В текстовом файле удалить все слова, которые содержат хотя бы одну цифру

10.05.2018, 16:49. Показов 7585. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В данном текстовом файле удалить все слова, которые содержат хотя бы одну цифру.
0
10.05.2018, 16:49
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2018, 16:49
Ответы с готовыми решениями:

Удалить все слова, которые содержат хотя бы одну латинскую букву
Подскажите, почему не работает программа, пожалуйста. :scratch:#include "stdafx.h" #include <iostream> #include...

Вывести только те слова заданного текстового сообщения, которые содержат хотя бы одну цифру
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Вывести...

Указать те слова, которые содержат хотя бы одну букву k
Помогите решить задачу что-бы зачёт получить Дана строка. Указать те слова, которые содержат хотя бы одну букву k.

4
0 / 33 / 5
Регистрация: 01.12.2017
Сообщений: 707
10.05.2018, 18:19 2
Имеет значение, какую библиотеку использовать?
1
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 4
10.05.2018, 19:44  [ТС] 3
Не имеет, за любое решение буду благодарен

Добавлено через 16 минут
Неа
0
 Аватар для Fixer_84
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
17.06.2018, 22:56 4
Цитата Сообщение от Oger Посмотреть сообщение
Не имеет, за любое решение буду благодарен
Здравствуйте! Как вариант:

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
#include <bits/stdc++.h> 
#include <windows.h> //Шрифт консоли - Lucida Console
 
    using namespace std;
 
int main() {
    setlocale(LC_ALL, "Russian"); //Чтобы функция isalpha() работала с русским текстом
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream fin("input.txt"); //Сюда записывается текст со словами
    ofstream fout("output.txt"); //Сюда выводится текст после удаления
    string str, s, res = "";
    while (getline(fin, str)) {
        str += " ";
        for (int i = 0; i < str.size(); i++) {
            s += str[i];
            if (!(isalpha((unsigned char)str[i])) && !isdigit(str[i])) {
                s.pop_back();
                if (!any_of(s.begin(), s.end(), ::isdigit))
                    res += s;
                if (i != str.size() - 1) {
                    res += str[i];
                }
                s = "";
            }
        }
        fout << res << "\n";
        res = "";
    }
    fin.close();
    fout.close();
    system("pause");
    return 0;
}
0
1 / 1 / 0
Регистрация: 12.06.2018
Сообщений: 3
18.06.2018, 23:36 5
Oger, Здравствуйте, возможный вариант решения:
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
//Oger_1.cpp - В данном текстовом файле удалить все слова, которые содержат хотя бы одну цифру.
 
/*
 * Испозуемые термины:
 * Текствый файл - компьютерный файл, содержащий текстовые данные.
 * Слово - последовательность символов неразделённая пробельными символами.
 *
 * Описание:
 * 0. Создать и заполнить исходный тектовый файл (в данном случае text_before)
 * 1. Поместить исходный текстовый файл, в рабочий каталог (папку с проектом).
 * 2. Открыть исходный, тектовый файл для чтения в программе.
 * 3. Открыть (создать) временный, текстовый файл для записи результата.
 * 4. Подготовить место для считывания 1 слова.
 * 5. Подготовить место для считывания 1 пробельного символа, следующего после слова.
 * 6. Подготовить место для результата анализа строки на предмет совпадения
 * 7. Проверить открылись ли файлы, если нет, то сообщить и прекратить выполнение.
 * 8. Читать в подготовленное место 1 слово.
 * 9. Читать в подготовленное место 1 пробельный символ.
 * 10. Прочитанное слово анализировать на предмет содержания в нем "цифры".
 *      (если в слове "цифра" - дальше не проверять, слово может быть очень длинным).
 * 11.Если слово содержит "цифру", проверить какой за ним "шёл" пробельный символ
 *      (если пробельный символ - переход на новую строку, то запишем его во временный файл).
 * 12.Если слово не содержит цифру - записать слово и следующий за ним пробельный символ во временный.
 * 13.Повторить п7 - п.11 до "завершения файла".
 * 14.Закрыть исходный тектовый файл.
 * 15.Закрыть веременный текстовый файл.
 * 16.Удалить исходный текстовый файл
 * 17.Переименовать временный в имя исходного текстового файла.
 * Испытавалось на linux mint 17.1, eclipse 3.8
 */
#include <iostream>
#include <fstream>
#include <cctype>
#include <cstdio>
 
int main()
{
    const char * get_file = "text_before";  //"имя" исходного текстового файла
    const char * out_file = "text_after";   //"имя" временного текстового файла
    const char * search_ch = "012345679";   //символы, по которым производим "отсев" слов
 
    std::ifstream file_read(get_file);      //пункт 2 (далее "п.")
    std::ofstream file_write(out_file);     //п.3
    std::string buf_str;                    //п.4
    char white_ch = '\0';                   //п.5
    std::size_t found;                      //п.6
 
    if (file_read.is_open() && file_write.is_open())    //п.7
    {
        while(!file_read.eof())                         //п.13
        {
            file_read >> buf_str;                       //п.8
            file_read.get(white_ch);                    //п.9
 
            found = buf_str.find_first_of(search_ch);   //п.10
            if(found != std::string::npos)              //п.11
            {
                if(white_ch == '\n')
                {
                    file_write << white_ch;
                }
            }
            else                                        //п.12
            {
                file_write << buf_str;
                file_write << white_ch;
            }
        }
        file_read.close();                              //п.14
        file_write.close();                             //п.15
        rename(out_file, get_file);                     //п.16-17
    }
    else                                                //сообщить если не "открылись" файлы
    {
        std::cerr << "Error openning SOURCE: " << get_file
                  << " OR TARGET: " << out_file;
    }
    return 0;
}
p.s. Такую задачу выполняю впервые (работа с тектовыми файлами). В описании то, чему следовал в процессе создания.
1
18.06.2018, 23:36
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2018, 23:36
Помогаю со студенческими работами здесь

Дана строка. Указать те слова, которые содержат хотя бы одну букву k
Решите кто может завтра уже здавать. Я просто представления неимею как их делать, я по С++ не шарю нифига.=(((( 1. Дана строка....

Дана строка, указать те слова, которые содержат хотя бы одну букву «k»
Дана строка, указать те слова, которые содержат хотя бы одну букву «k». Считать, что слова в тексте отделены друг от друга одним пробелом.

Обработка текстовых строк. Напечатать все слова, содержащие хотя бы одну цифру
Напечатать все слова, содержащие хотя бы одну цифру.

Дана строка. Указать те слова, которые содержат хотя бы одну букву "k"
C++: дана строка. указать те слова которые содержат хотя бы одну букву k, помогите пожалуйсто решить

Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt
например имеется текстовый файл 1.txt c таким содержанием 111 222 333 444 555 и имеется текстовый файл 2.txt c таким...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Распознавание капчи на Python с помощью глубокого обучения, Keras и TensorFlow
stackOverflow 19.02.2025
Развитие технологий глубокого обучения и компьютерного зрения создало интересный парадокс - системы, изначально разработанные для защиты от автоматизации, теперь могут быть преодолены с помощью. . .
Анализ тональности на Python
stackOverflow 19.02.2025
Анализ тональности текста (Sentiment Analysis) - одно из наиболее востребованных направлений в обработке естественного языка, которое позволяет автоматически определять эмоциональную окраску. . .
Обнаружение аномалий в машинном обучении на Python
stackOverflow 19.02.2025
Аномалии — это отклонения от ожидаемого поведения системы, которые могут указывать как на потенциальные проблемы, так и на интересные возможности для исследования. В контексте машинного обучения. . .
Введение в представления (views) Django
stackOverflow 19.02.2025
Представления (views) - ключевой элемент веб-фреймворка Django, который отвечает за обработку HTTP-запросов и формирование ответов. Они действуют как посредники между данными приложения и шаблонами,. . .
Что такое шаблоны Django и как с ними работать
stackOverflow 19.02.2025
Шаблоны Django - основополагающий компонент фреймворка Django, который позволяет эффективно разделять логику приложения и его визуальное представление. Это очень важный инструмент для. . .
Какой Python Web-фреймворк лучший: Django, Flask или FastAPI?
stackOverflow 19.02.2025
В разработке под веб Python занимает особое место благодаря своей универсальности и богатой экосистеме. При создании веб-приложений разработчики сталкиваются с важным выбором - какой фреймворк. . .
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией и Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru