В тексте заменить слова "компьютер" на "к*******р

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
AleK135
Сообщения: 1
Зарегистрирован: 05 авг 2015, 16:15

Задача: заменить в тексте слова "компьютер" на "к*******р"
Подскажите, что не правильно

Код: Выделить всё

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cstring>
 
using namespace std;
 
int main()
{
    
setlocale(LC_CTYPE,"RUS");
    int const N = 10;
   char str[500];
   char a[N] = "компьютер";
   char b[N] = "к*******р";
   ifstream file ("C:\\file.txt");
   while(!file.eof())
   {
       file.getline(str, 500);
       for(int i = 0; i < strlen(str); i++){
        if(strcmp(str, a)==0){
            for(int e = 1; e > N; e++){
                a[e] = b[e];
            }
           }
       }
        
       
   }
   file.close();
   
system("pause");
return 0;
}
Аватара пользователя
Decoder
Сообщения: 308
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

Как вариант, можно текст читать не по строкам а по словам

Код: Выделить всё

   char buff[80] = {0}; // для одного слова
   while(!file.eof())
   {
       file >> buff;
        if (strcmp(buff, a) == 0) {
               // замена слова...
            }
   }
Только непонятно, что потом делать с изменённым текстом. Записывать его в файл или на экран выводить...
Поумнеть несложно, куда труднее от дури избавиться.
Ответить