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

Символьная информация. исключение из текста слов. - C++

Восстановить пароль Регистрация
 
nerazzurri
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
14.12.2010, 21:27     Символьная информация. исключение из текста слов. #1
дан текстовый файл F . Создать текстовый файл G, включив в него только те слова из F, которые не содержат двух подряд идущих одинаковых букв.
P.S. Проблемы в том , что моя программа исключает повторящиеся цифры , к примеру : 77 или 669. также знаки препинания после исключенных слов, также если в середине слова стоит цифра ( к примеру Mama8papa, словом же оно не является, поэтому исключать его не стоит, я думаю). Я не могу организовать проверки.
P.S. Если есть возможность , не усложняйте сильно программу, я чайник
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
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>
 
const int SIZE =80;
void form (char*, char*);
 
void main()
{ifstream in ("kill.txt");
ofstream out ("killX.txt");
        char buf[SIZE], outbuf[SIZE]={' '};
 
        while(!in.eof(),
        in.getline(buf, SIZE, '\n'))
        {       
                form (buf, outbuf);
   
                out<<outbuf;
                out<<endl<<endl;
        }
}
void form (char *a,char *out)
{       
        char *first=a, *end=a;
        *out='\0';
        int  flag=false, flag2=false;
       while (*first!='\0')
        {
                flag=false; flag2=false;
 
                while (*first==' '&&*first!='\0')
                        first++;
                end=first;
 
                while (*end!=' '&&*end)
                        end++;
 
               
                if ((*first>='z'||*first>='Z'||*first<='a'||*first<='A')&& (*first>9||*first<0))
                        {
                                flag=true;
                                
                               
                        }
              
                        if (*(first+1)!=*first)
                        {
                                flag2=true;
                                     
                                    
 
 
                               
                        }
                    
                        
 
                if (flag==true&&flag2==true)
                {  
                        while (first!=end)
                                *out++=*first++;
                        *out++=' ';
                    
                        *out='\0';
                }
                else first=end;         
        }
}
Добавлено через 5 часов 4 минуты
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2010, 21:27     Символьная информация. исключение из текста слов.
Посмотрите здесь:

C++ Строки(стринг).....удаление слов из текста
C++ Дана символьная матрица, каждая строка которой является предложением. Для каждой строки определить количество слов.
C++ Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста.
Символьная информация C++
C++ Удаление повторяющихся соседних слов из текста
C++ Поиск слов из текста.
C++ Удаление слов из текста
Список неповторяющихся слов из текста C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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