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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ группы символов, разделенные пробелами http://www.cyberforum.ru/cpp-beginners/thread848181.html
Помогите написать программу ничего не получается уже сижу 2 дня и не в какую. За ранее спасибо)) группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. выравнивание строки заключается в том, что между ее отдельными словами дополнительно вносятся пробелы так, чтобы длина строки стала равной заданной длине(предполагаетя, что требуемая длина не меньше...
C++ Создать класс Hexadec1, который будет содержать число в 16-ричной системе 1)разработать класс, содержащий два члена (назовем их first, second), и следующие методы: – ввод с клавиатуры Read; – вывод на экран Display; – метод, указанный в задании. Поле first – целое число, целая часть числа, записанного в двоичной системе счисления; поле second – положительное целое число, дробная часть числа, записанного в двоичной системе счисления. Реализовать метод add2( ) –... http://www.cyberforum.ru/cpp-beginners/thread848179.html
C++ Задача
По результатам опроса прошлого года известен список 10 политических деятелей в порядке убывания их популярности. Проведен новый опрос. Каждый из N журналистов (N - заданное число) назвал три различные фамилии из этого списка. Требуется получить новый список в порядке убывания популярности политических деятелей и показать место, которое занимал каждый деятель в предыдущем опросе. Предусмотреть...
C++ Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора
. Вычислить и вывести на экран в виде таблицы значения функции, заданной с по¬мощью ряда Тейлора, на интервале от хнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содер¬жать значение аргумента, значение функции и количество просуммированных членов ряда. Номер варианта задания равен номеру компьютера.
C++ запись числа в экспоненциальной форме в string http://www.cyberforum.ru/cpp-beginners/thread848107.html
В шапке вопрос написан. Найти пока не смог, хоть и читал описание. std::string - вообще пока глухо; CString - там вроде через Format, но нормального описания не нашел. А вообще я работал с Qt и там у переменной QString есть функция arg( d, 0 , 'E', 4); скиньте ссылку на примеры если есть. p.s. Сам я до сих пор ищу, так что не думайте, я не ленюсь.
C++ Одномерный массив вещественных чисел. Вставить в массив некоторое число, сохраняя сортировку Помогите пожалуйста с заданием, буду очень благодарен! Задан массив вещественных чисел. Элементы массива отсортированы по возрастанию значений. Вставить в массив некоторое число, сохраняя сортировку. У меня есть такой вариант: к примеру массив 1 2 3 6 7. Вводим 5, на выходе должны получить 2 3 5 6 7 int * massiv = new int; massiv = 1; // и так далее подробнее

Показать сообщение отдельно
Ilnurvampire
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 18
25.04.2013, 13:23     Удаление слова из текста
Даны текстовый файл и слово. Напечатать те строки файла, которые содержат данное слово без этого слова.
Написал прогу которая удаляет из строки лишь первое вхождение слова. Как сделать, чтобы она удаляла слово, если оно в строке встречается несколько раз.
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru