Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 9

Из текстового файла удалить все слова, не соответствующие шаблону

24.02.2013, 14:29. Показов 2576. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, помогите сделать эту лабу, вторые выходные сижу и мучаюсь. Вот она: Из текстового файла удалить все слова, не соответствующие шаблону. Шаблон задается как длина слова и количество согласных букв в нем. Вроде легко, но как именно удалить все слова я не могу понять. Если можно, с объяснениями. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2013, 14:29
Ответы с готовыми решениями:

Удалить слова из списка, соответствующие шаблону
Здраствуйте, помогите пожалуйста с программой. Задание такое, вводится предложение, потом оно разбивается на слова и эти слова загоняются в...

Необходимо выбрать из предложения все слова, соответствующие маске (шаблону)
Людиии, помогите написать программу!.. С клавиатуры вводятся: Предложение, слова в котором разделены символом подчёркивания...

Удалить из текстового файла все однобуквенные слова
Дан текстовый файл f. Удалить из файла все однобуквенные слова.

11
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
24.02.2013, 14:54
Слова на кириллице?
0
 Аватар для Хулиган
88 / 83 / 21
Регистрация: 08.08.2012
Сообщений: 737
24.02.2013, 15:18
Цитата Сообщение от 001fess Посмотреть сообщение
Ребята, помогите сделать эту лабу, вторые выходные сижу и мучаюсь. Вот она: Из текстового файла удалить все слова, не соответствующие шаблону. Шаблон задается как длина слова и количество согласных букв в нем. Вроде легко, но как именно удалить все слова я не могу понять. Если можно, с объяснениями. Заранее спасибо.
считываешь слово проверяешь на соответствие шаьлону если подходит записываешь отдельно например в отдельную строку, не подходит считываешь дальше
0
 Аватар для KostyaKulakov
64 / 52 / 2
Регистрация: 02.07.2012
Сообщений: 391
Записей в блоге: 2
24.02.2013, 15:22
тут какраз всё просто. file.getline() читает полностью всё до первого пробела.

те

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
while(file)
{
std::string temp;
 
temp = file.getline();
 
..тут делаем проверки над temp...
 
и решаем записывать ли слово в новый текстовой фаил.
 
}
 
по окончанию старый фаил можно удалить
1
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 9
24.02.2013, 15:30  [ТС]
KostyaKulakov
я не понял, что вы имели ввиду. я не могу все вместе соединить. не получется написать правильно программу
0
 Аватар для KostyaKulakov
64 / 52 / 2
Регистрация: 02.07.2012
Сообщений: 391
Записей в блоге: 2
24.02.2013, 15:45
Цитата Сообщение от 001fess Посмотреть сообщение
KostyaKulakov
я не понял, что вы имели ввиду. я не могу все вместе соединить. не получется написать правильно программу
Входные данные:
1_фаил.txt

Выходные данные:
2_фаил.txt

1. принимаем фаил.
2. создаем 2 фаил.
3. проходим циклом 1 фаил отсеивая "не правильные" слова, если слово правильное, записываем его в фаил 2.
4. удаляем 1 фаил.
5. PROFIT!
1
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 9
24.02.2013, 15:52  [ТС]
а поподробнее можно?
0
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 9
20.03.2013, 22:46  [ТС]
кто-нибудь поможет или нет?
0
 Аватар для vbloodv
23 / 23 / 3
Регистрация: 15.12.2012
Сообщений: 314
20.03.2013, 22:49
Я думаю Вот то что тебе надо, по крайней мере это простейшее что я могу сразу так сказать...
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
21.03.2013, 01:14
Решение:
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
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
 
int Banned(char w[],int n,int m)
{   char consonant[] = "bcdfghkjklmnprstvwxz";
    int count = 0, i =0, j;
    
    //если запретная длина
    if (strlen(w) == n)
        return 1;
 
    //переводим все буквы в слове в строчные
    char w1[80];
    while(w[i])
    {   w1[i]=tolower(w[i]);
        i++;
    }
    w1[i]='\0';
 
    //считаем согласные
    for(i=0;i<strlen(w1);i++)
        for(j=0; j<strlen(consonant);j++)
            if(w1[i] == consonant [j])
            {   count++;
                break;
            }
    
    //если запретное к-во согласных
    if(count == m)
        return 1;
 
    return 0;   //если проверка пройдена
}
 
 
int main()
{   char word[80];
    int N, M, ban;
 
    fstream fin, fout;
    fin.open ("file1.txt", fstream::in);
    fout.open("file2.txt",fstream::out | fstream::app);
 
  if (fin.is_open() && fout.is_open())
  { cout<<"Word length to be banned N = ";
    cin>>N; //запретная длина
    cout<<"Number of consonants to be banned M = ";
    cin>>M; //запретное к-во согласных
    
    while (!fin.eof())
    {   fin>>word;              //слово из файла 1
        ban = Banned(word,N,M); //проверка
        if(!ban)
            fout<<word<<" ";    //если проверка возвращает 0, то записываем
                                //слово в файл 2
    }
 
    cout<<"Task completed";
    cin.sync(); cin.get();
 
    fin.close();
    fout.close();
  }
  else
      cout<<"Error opening files";
    
    return 0;
}
Миниатюры
Из текстового файла удалить все слова, не соответствующие шаблону  
1
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 9
21.03.2013, 12:40  [ТС]
IrineK
не работает, но все равно спасибо!!!
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
21.03.2013, 17:18
Угу, а картинки с результатом выполнения я сама себе нарисовала - для престижу...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2013, 17:18
Помогаю со студенческими работами здесь

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

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

Как удалить строки в текстовом файле, соответствующие строкам из другого текстового файла?
как удалить строки в текстовом файле соответствующие строкам из другого текстового файла? Например есть два файла 1.txt и 2.txt, содержание...

Выбрать из файла все слова удовлетворяющие заданному шаблону
В слове указаны некоторые буквы, надо рассмотреть все возможные варианты. Для этого пользователь вводит &quot;шаблон&quot; слова: заменяет...

Найти все символы не соответствующие шаблону
Есть строка, в которой должны быть только числа разделенные &quot;,&quot; или &quot;;&quot;. Шаблон получился такой &quot;/^(?\d+?)+$/&quot;. Мне нужно найти и...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
SDL3_mixer - это библиотека я для воспроизведения аудио. Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru