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

Удаление слова из текста

25.04.2013, 13:23. Просмотров 753. Ответов 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
#include <vector>
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
    char slovo[50];
    
   FILE * pFile;
   FILE *pFile2;
   char buffer [100];
   char a[50][30]; 
   int len,j=0, k=0;
   int count=0;
   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else
   {
     while ( ! feof (pFile) )
     {
       if ( fgets (buffer , sizeof(buffer) , pFile) == NULL ) break;
       fputs (buffer , stdout);
       }
     fclose (pFile);
   }
   cout<<"\nВведите слово для поиска : ";
   cin>>slovo;
   pFile = fopen ("myfile.txt" , "r");
   pFile2=fopen("myfile2.txt","w");
   if (pFile == NULL) perror ("Error opening file");
   else
   {
     while ( ! feof (pFile) )
     {
       if ( fgets (buffer , sizeof(buffer) , pFile) == NULL ) break;
       
       len=strlen(buffer);
       for (int i=0; i<len; i++)
       {
           if(buffer[i]!=' ' && buffer[i]!=',' && buffer[i]!='.'    && buffer[i]!='\n')
           {
               a[j][k]=buffer[i];
               k++;
           }
             else
             {
                  if (k!=0)
               {
            a[j][k]='\0';
            j++;
            k=0;
               }
             }
       }
       for (int l=0; l<j;l++)
   {
       if (strcmp(a[l],slovo)==0) 
       {
           fputs(buffer,pFile2);
           count++;
       break;
   }
   }
       j=0;
       }
     fclose (pFile);
     fclose(pFile2);
   }
   string stroka;
   string slovo_str;
   slovo_str.assign(slovo);
   int found;
   pFile2=fopen("myfile2.txt","r");
   if (pFile2 == NULL) perror ("Error opening file");
   else
   {
     while ( ! feof (pFile2) )
     {
       if ( fgets (buffer , sizeof(buffer) , pFile2) == NULL ) break;
     { 
      stroka.assign(buffer);//конвертирование char в string
      found=stroka.find(slovo_str);
      stroka.erase(found,slovo_str.length());
      cout<<stroka;
     }
       }
     fclose (pFile2);
   }
   if (count==0) cout<<"Данное слово в тексте не найдено";
   return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2013, 13:23
Ответы с готовыми решениями:

Редактирование произвольного текста: удаление слова с заданным номером
написать программу, которая редактирует произвольный текст, введенный с клавиатуры, удаляя из него...

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

Вывести на экран те слова, которые отличны от последнего слова текста и первая буква этого слова входит в него еще раз
Помогите, пожалуйста, с заданием. Что-то туговато у меня идет работа со строками. Более менее я...

Удаление слова из текста
int StartIndex = 0, EndIndex = 0; AnsiString InputStr = mmo1-&gt;Lines-&gt;Text; AnsiString SubStr...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2013, 13:23

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

Удаление слова из текста
Помогите , пожалуйста. Python. Удалить все вхождения заданного слова из текста. текст в формате...

Удаление текста до определенного слова
Здравствуйте. Помогите,пожалуйста написать следующий макрос: Имеется текст вида: Статья i. .......

Удаление повторяющегося слова из текста
Ввести текст из нескольких слов в тексте. Удалить указанное повторяющееся несоколько раз слово.

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


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

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

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