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

строка - C++

Войти
Регистрация
Восстановить пароль
 
Viktor St.
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 16
14.01.2010, 23:58     строка #1
Как в строке заключить слова начинающиеся с согласной буквы в двойные кавычки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2010, 23:58     строка
Посмотрите здесь:

C++ строка в c++
Строка C++
C++ строка
строка C++
строка C++
Строка C++
Строка C++
Строка C++
Строка C++
строка C++
Строка С++ C++
Строка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9384 / 5434 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
15.01.2010, 01:05     строка #2
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 <stdio.h>
#include <ctype.h>
    
/* Как в строке заключить слова начинающиеся с согласной буквы в двойные кавычки?  */
#define STRLEN 128
#define NOVOWELS "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
enum { INWORD = 1, QUOTED = 2 };
int main(void){
    char str1[STRLEN] = "Morgen, morgen, nur nicht heute! Sagen alle faulen Leute!", str2[STRLEN], *pStr1, *pStr2;
    int flags;
    
    for ( flags = 0, pStr1 = str1, pStr2 = str2; *pStr1; ++pStr1 ){
        if  ( isspace(*pStr1) || ispunct(*pStr1) ){
            if ( flags & QUOTED )
                *pStr2++ = '"';
            flags = 0;
        }
        else if ( !( flags & INWORD ) ){
            if ( strchr(NOVOWELS, *pStr1) ){
                *pStr2++ = '"';
                flags |= QUOTED;
            }
            flags |= INWORD;
        }
        *pStr2++ = *pStr1;
    }
    *pStr2 = '\0';
    printf("%s\n%s\n", str1, str2);
    return 0;
}
Yandex
Объявления
15.01.2010, 01:05     строка
Ответ Создать тему
Опции темы

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