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

Замена группы символов в строке! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как отключить или убрать иконку выхода [x] ? http://www.cyberforum.ru/cpp-beginners/thread643247.html
Как отключить или убрать иконку выхода ? В интернете нарыл много информации и на просторах киберфорума тоже, но она мне никак не помогла. У меня Visual Studio 2010
C++ Конкатенация строк Частью задания является реализовать функцию strcat. Возникает какая-то ошибка (см.фото). 1.Вы могли бы подсказать в чём ошибка? 2.Не по теме: как можно улучшить функцию read? Вот код: ... http://www.cyberforum.ru/cpp-beginners/thread643215.html
C++ Создание библиотек DLL
Пишу в Dev-C++. Хочу создать DLL - библиотеку. Помогите разобраться в последовательность написания библиотеки DLL.
C++ Статическая линковка: несовместимые параметры командной строки "/clr:pure" и "/MTd"
Я залинковал так: Проект-Свойства-Свойства конфигурации-Общие-Использование MFC - Поставил на ст. Теперь не компилируется: 1>cl : командная строка error D8016: несовместимые параметры командной...
C++ Сколько раз слово встречается в предложении http://www.cyberforum.ru/cpp-beginners/thread643190.html
Здравствуйте уважаемые программисты. Помогите решить задачу или хотя бы намётки дайте. "Для каждого из слов заданного предложения указать, сколько раз оно встречается в предложении."
C++ Как узнать пространство имен? Здравствуйте, возникла ситуация, при которой нужно явно указать, к какому пространству имен относится функция Ellipse. Я только начал изучать winapi, и возникла ситуация, что мой подключенный класс... подробнее

Показать сообщение отдельно
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
28.08.2012, 09:59
cactus09, ваша программа некорректно работает при наличии более трех одинаковых символов подряд.
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
#include <stdio.h>
 
char* rem3same(char s[ ]) {
    unsigned iread = 0, iwrite = 0, i;
    char c = '\0';
    while (s[iread]) {
        if (c == s[iread]) {
            i = iread;
            while (c == s[iread]) { iread++; }
            if (!s[iread]) {
                s[iwrite++] = c;
                break;
            }
            if (iread - i > 1) {
                s[iwrite - 1] = s[iwrite] = s[iwrite + 1] = '.';
                iwrite++;
            }
            iwrite++;
        }
        c = s[iwrite++] = s[iread++];
    }
    s[iwrite] = '\0';
    return s;
}
 
int main() {
    char s[ ] = "HHellooo Woooorlddddd!11";
    puts(s);
    rem3same(s);
    puts(s);
    getchar();
}
Добавлено через 1 минуту
Пaтрик, ваша тоже.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru