Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
hotspurs
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 2
1

В файле F заменить на звездочку(*) слова в которых нету букв слова "word"

03.06.2013, 00:39. Просмотров 673. Ответов 3
Метки нет (Все метки)

В файле F заменить на звездочку(*) слова в которых нету букв слова "word"
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
#include <stdio.h>
#include <conio.h>
void main(){
    char word[8] = {'w','o','r','d','W','O','R','D'};
    char temp;
    char z = '*';
    char p = ' ';
    int k,j,i = 0;
    int check;
    FILE *f1  = fopen("file.txt","rt");
    FILE *f2  = fopen("write.txt","wt");
    if(f1 == NULL && f2 == NULL){
        printf("fail!\n");
    }
    char str;
    while((str=fgetc(f1)) != EOF){
        if(str == '\0'){
        fputc(p,f2);
        }
        while(str != '\0'){
        temp[i] = str;
        i++
        }
        for(k=0;k<=sizeof(temp); k++){
        check =0;
            for(j=0;j<=sizeof(word); j++){
                if(temp[k] == word[j]){
                    check = 1;
                }
            }
        
        }
        if(check == 0){
            for(k=0;k<=sizeof(temp);k++){
                fputc(temp[k],f2);
            }
        }
        else{
            fputc(z,f2);
        }
    }
    
    getch();
}
В данным коде заменяется на звездочку каждый символ, а не слово. Как реализовать считывание по словам и замену слова на звездочку. Благодарю за помощь!!!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 00:39
Ответы с готовыми решениями:

Удалить все слова, оканчивающиеся группой букв "кая" или "кое"
Удалить из S1,... Sn все слова, оканчивающиеся группой букв, &quot;кая&quot; или &quot;кое&quot;. Хелп, пожалуйста.

Удалить из текста слова, в которых "а" и "в" встречаются более двух раз
Дано текст, надо удалить слова в которых &quot;а&quot; и &quot;в&quot; встречаются более двух раз. Заранее благодарю!

Удалить из данного предложения слова, множество букв которых совпадает с множеством букв первого слова
стандартными стрелковыми функциями, объявленными в файле string.h пользоваться не разрешается ...

"Перевернуть" в строке все слова (Например: "Жили были" в "илиЖ илыб")
&quot;Перевернуть&quot; в строке все слова. (Например: &quot;Жили были дед и баба&quot; - &quot;илиЖ илиб дед и абаб&quot;)

Все слова "one" заменить на "two"
не могу до конца решить задачу, помогите пожалуйста нужно все слова &quot;one&quot; заменить на &quot;two&quot;...

3
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10576 / 6283 / 1574
Регистрация: 25.07.2009
Сообщений: 11,973
03.06.2013, 04:05 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main(void) {
    char buf[256], * p;
    FILE * fin, * fout;
    
    /* открыть fin на чтение, fout на запись */
 
    while ( fscanf(fin, "%255s", buf) == 1 ) {
        for ( p = "word"; *p && strchr(buf, *p); ++p )
            ;
        fprintf(fout, "%s ", ( *p ) ? "*" : buf);
    }
 
    /* закрыть файлы */
это, если нужно, чтобы все буквы из "word" входили в слово...
0
hotspurs
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 2
03.06.2013, 11:20  [ТС] 3
Спасибо, а если хотя бы одна из букв слова word!?
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10576 / 6283 / 1574
Регистрация: 25.07.2009
Сообщений: 11,973
03.06.2013, 11:30 4
C
1
2
while ( fscanf(fin, "%255s", buf) == 1 )
    fprintf(fout, "%s ", ( strpbrk(buf, "word") ) ? buf : "*");
1
03.06.2013, 11:30
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 11:30

Удалить из текста все слова, в которых содержатся буквосочетания "ov".
Удалить из текста все слова, в которых содержатся буквосочетания &quot;ov&quot;. не применять тип string и...

Сформировать новое предложение из данного: удалить слова, состоящие менее, чем из 3-х букв и заканчивающиеся на "а"
Дано предложение, нужно сформировать новое, в котором буду удалены слова, состоящие менее, чем из...

Заменить все слова в исходном файле на количество букв (целое число) в слове
Заменить все слова в исходном файле на количество букв (целое число) в сло- ве. Результат записать...


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

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

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