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

В тексте заменить символы "fh" на символ "с" - C++

Восстановить пароль Регистрация
 
yurka17
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 49
31.10.2010, 21:03     В тексте заменить символы "fh" на символ "с" #1
дан входной файл нужно обработать и записать в выходной

вот задание
В тексте заменить символы "fh" на символ "с". В тексте несколько строк.

я вообще запутался в этой программе, так как почти не знаю СИ
вот тут кое что набросал

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
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char a[255];
    FILE  *in_file,*out_file;
    in_file=fopen("F:\\bor\\bor\\Output\\MingW\\f1.txt");
    if(in_file==null);
       {printf("error/n");
       return(1)}
    else printf("ok\n");
       for(int i=0; i<strlen(a); i++)
     {
              if(a[i]=='fh')
      { [COLOR="Red"]"!вот тут я понял что это так не сделать т.к символы fh могут стоять не отдельно а быть включены например в слово fhack!"[/COLOR]
    }
     fprintf("%s", t);
    system("PAUSE");
    return EXIT_SUCCESS;
}
Добавлено через 28 минут
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
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char a[255];
    FILE  *in_file,*out_file;
    in_file=fopen("F:\\bor\\bor\\Output\\MingW\\f1.txt","r");
    out_file=fopen("F:\\bor\\bor\\Output\\MingW\\f2.txt","w");
    if(in_file==null);
       {printf("error/n");
       return(1)}
    else printf("ok\n");
       for(int i=0; i<strlen(a); i++)
     {
              if(a[i]=='fh')
      {a[i]="c";
      else a[i]=a[i];
    }
     fprintf(out_file,"%S\n");
    system("PAUSE");
    return EXIT_SUCCESS;
Добавлено через 2 часа 41 минуту
что не так ?


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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
 
 
    FILE  *in_file,*out_file;
    in_file=fopen("F:\\bor\\bor\\Output\\MingW\\f1.txt","r");
    out_file=fopen("F:\\bor\\bor\\Output\\MingW\\f2.txt","w");
    if(in_file==NULL)
       {printf("error\n");
       return(1);}
    else printf("ok\n");
    char a[255];
       for(int i=0; i<strlen(a); i++)
     {
        if(a[i]=='f')&&(a[i+1]=='h'))
        {a[i+1]='c';delete(i,1}
      else {a[i]=a[i];
}
 
     fprintf(out_file,a);
     fclose(in_file);
     fclose(out_file);
    system("PAUSE");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2010, 21:03     В тексте заменить символы "fh" на символ "с"
Посмотрите здесь:

C++ Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*".
C++ Подсчитать, колько раз в произвольном тексте встречается символ "*" и "+"
Строка: заменить первую "о" на "а", удалив остальные "о" C++
C++ Заменить символы, находящиеся внутри скобок, на символ "звездочка"
Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
31.10.2010, 21:08     В тексте заменить символы "fh" на символ "с" #2
C++
1
2
3
4
5
6
7
char a[255];
 for(int i=0; i<strlen(a); i++)
     {
        if(a[i]=='f')&&(a[i+1]=='h'))
        {a[i+1]='c';delete(i,1}
      else {a[i]=a[i];
}
переменную char а[255] ты создал, а что в ней? мусор походу - ты нигде ничего в нее не считывал из файла
yurka17
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 49
31.10.2010, 21:11  [ТС]     В тексте заменить символы "fh" на символ "с" #3
Цитата Сообщение от Andsteadur Посмотреть сообщение
C++
1
2
3
4
5
6
7
char a[255];
 for(int i=0; i<strlen(a); i++)
     {
        if(a[i]=='f')&&(a[i+1]=='h'))
        {a[i+1]='c';delete(i,1}
      else {a[i]=a[i];
}
переменную char а[255] ты создал, а что в ней? мусор походу - ты нигде ничего в нее не считывал из файла
тобишь getc(in_file);
перед циклом?
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
31.10.2010, 21:13     В тексте заменить символы "fh" на символ "с" #4
что то ты один файл проверил открылся он или нет, а второй нет. сначало открой один, считай с него, а потом открывай воторой и записывай в него. И даже ты первый файл открыл, но ничего не считал с него и сразу начинаешь в цикле проверять
Yandex
Объявления
31.10.2010, 21:13     В тексте заменить символы "fh" на символ "с"
Ответ Создать тему
Опции темы

Текущее время: 22:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru