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

Сжатие последовательности символов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел http://www.cyberforum.ru/cpp-beginners/thread1119331.html
Напишите пожалуйста код =)
C++ Найти, сколько должен заплатить в кассу покупатель с учетом скидок Фирма, которая производит определенные товары, предлагает предпраздничные скидки покупателям при покупке товаров в фирменном магазине в зависимости от общей стоимости приобретенной покупки: при общей стоимости, меньшей 100 грн., Скидка не предоставляется, от 100 до 300 грн. - Скидка составляет 2% общей стоимости, от 300 до 500 грн. - 5% общей стоимости, от 500 до 1000 грн. - 8% общей стоимости,... http://www.cyberforum.ru/cpp-beginners/thread1119328.html
Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга C++
Напишите код в C++ Пожалуйста :confusion:
Упорядочить массив и добавить указатели C++
Помогите пожалуйста упорядочить элементы массива по возростанию их модулей ну вообщем вот полное задание Скласти програму, що виконує з одновимірним масивом дії відповідно до варіанту завдання. Замість класичного доступу до елементів масиву (наприклад, MyArray) і виконання операцій над елементами використовувати покажчики. Обраработку масиву виконати у функції. Функцію в головній програмі...
C++ По дате, введенной с клавиатуры вывести число, название месяца и год http://www.cyberforum.ru/cpp-beginners/thread1119304.html
Задача 4 Напишите программу, которая по дате, введенной с клавиатуры в формате X X. X X. X X выводит число, название месяца и год. Например по дате 20.01.2004 следует вывести 20 января 2004 г. Помогите с кодом пожалуйста!
C++ Таблица значений функции y=|x+1|+|x-2| Задача 3 Напишите программу, которая выводит таблицу значений функции y=|x+1|+|x-2|. Диапазон значений аргумента ввести с клавиатуры, шаг приращения аргумента выбрать так, чтобы таблица содержала 40 строк. Помогите с кодом) подробнее

Показать сообщение отдельно
SKED
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 13
14.03.2014, 21:48     Сжатие последовательности символов
Всем привет.
Дан текст. Если один и тот же символ x встречается 5 раз подряд, то эти 5 символов будут заменены на конструкцию (5)x.
Например: abcccccde преобразуется в ab(5)cde.

Помогите найти ошибку в программе (или может можно как-то ещё проще это реализовать):

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 "stdafx.h"
#include <iostream>
#include <string.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
char s[50];
int i;
gets(s);
for(i=0; i<49; i++)
   {
       if (s[i]==s[i+1]==s[i+2]==s[i+3]==s[i+4])
       {  
            s[i]='(';
            s[i+1]='5';
            s[i+2]=')';
            for (i=i+4; i<49; i++)
                {
                    s[i]=s[i+4];
                }
       }  
   }
puts(s);
system("pause");
}
Добавлено через 1 час 15 минут
Готово
Кликните здесь для просмотра всего текста
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 "stdafx.h"
#include <iostream>
#include <string.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
char s[50];
int i, k;
gets(s);
for(i=0; i<49; i++)
   {
       if (s[i]==s[i+1] && s[i+1]==s[i+2] && s[i+2]==s[i+3] && s[i+3]==s[i+4])
       {  
            s[i]='(';
            s[i+1]='5';
            s[i+2]=')';
            for (k=i+4; k<49; k++)
                {
                    s[k]=s[k+1];
                }
       }  
   }
puts(s);
system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru