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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mashylya1
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 17
#1

Строки - C++

13.11.2011, 22:02. Просмотров 246. Ответов 2
Метки нет (Все метки)

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

Добавлено через 5 минут
решение нужно на Си
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.11.2011, 22:41     Строки #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
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
#define MAXLINE 1000
 
char *replace_groups(char *s, int num, char c);
 
int main()
{
    char line[MAXLINE];
 
    while (printf("enter a line:\n") > 0 
        && fgets(line, MAXLINE, stdin) && *line != '\n'
        && printf("%s", replace_groups(line, 3, '.')) > 0)
        ;
    return 0;
}
 
char *replace_groups(char *s, int num, char c)
{
    char *t, *beg = s;
    int i, shift;
 
    while (*s != '\0') {
        for (shift = 1, t = s; *t == *(t + 1); t++)
            shift++;
        if (shift >= num) {
            for (i = 0; i < num; i++)
                *s++ = c;
            if ((shift -= num) == 0)
                continue;
            t = s;
            do {
                *t = *(t + shift);
            } while (*t++);
        } else
            s++;
    }
    return beg;
}
Mashylya1
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 17
13.11.2011, 22:49  [ТС]     Строки #3
Спасибо Вам большое!
Yandex
Объявления
13.11.2011, 22:49     Строки
Ответ Создать тему
Опции темы

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