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

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

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

Простая задачка: Распаковка строки - C++

14.10.2012, 20:57. Просмотров 1131. Ответов 3
Метки нет (Все метки)

Задача D «Распаковка строчки»
Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку*AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем*упаковкой*строки.
Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.
Формат ввода
Входной файл содержит одну упакованную строку. В строке могут встречаться только конструкции вида*nA, где*n*— количество повторений символа (целое число от 2 до 99), а*A*— заглавная латинская буква, либо конструкции вида*A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80. Входная строка обязательно заканчивается символом перевода строки.
Формат вывода
В выходной файл выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
Примеры

Пример ввода Пример вывода
3A4B7D AAABBBBDDDDDDD
22D7AC18FGD DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF
FFFFFFFFGD




Прошу написать полное решение на Си, сегодня голова уже не варит. Буду благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 20:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Простая задачка: Распаковка строки (C++):

Простая задачка - C++
Нужен код для Dev C++ Найти суму цифр четырёхзначного натурального числа. Буду очень благодарен.

Простая задачка на C++ - C++
s=sin x + sin x^2 + sin x^3 + sin x^4 + ... + sin x^n - условие, а что как с этим делать я не понимаю, т.к. нам тупо раздали задание и...

Простая задачка в СИ++ - C++
Найти колл-во цифр больше 9, у натурального числа N.:wall:

простая задачка - C++
Требуется написать программу, определяющую количество символов до точки. Точка в строке одна.

Простая задачка - C++
Здравствуйте. Есть вот такая задачка: Написать программу на С пораждающая в цикле следующюю таблицу значений: A A+2 A+4 A+6 3 5 7 9 ...

Простая задачка по массивам. - C++
Дан массив.Все его элементы,не равные нулю,переписать(сохраняя его порядок)в начало массива,а нулевые элементы - в конец.

3
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.10.2012, 21:32 #2
Цитата Сообщение от Bacaramba Посмотреть сообщение
Прошу написать полное решение на Си
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
#include <stdio.h>
#include <string.h>
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int len, i, j, t=0, x;
    char a[81];
    scanf("%s", &a);
    len=(int)strlen(a);
    for(i=0; i<len; i++)
    {
        x=0;
        while(a[i]>='0' && a[i]<='9')
        {
            x*=10;
            x+=(int)(a[i++]-'0');
        }
        if(x==0)
        {
            printf("%c", a[i]);
            t++;
            if(t%40==0)
                printf("\n");
        }
        else
        {
            for(j=0; j<x; j++)
            {
                printf("%c", a[i]);
                t++;
                if(t%40==0)
                    printf("\n");
            }
        }
    }
    return 0;
}
1
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
14.10.2012, 21:35 #3
Цитата Сообщение от Bacaramba Посмотреть сообщение
Прошу написать полное решение на Си, сегодня голова уже не варит. Буду благодарен.
вам немного в другой форум... http://www.cyberforum.ru/c-beginners/
0
Bacaramba
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 48
14.10.2012, 21:45  [ТС] #4
valeriikozlov, спасибо поставил. Ей богу так же писал, накосячил со строками.
0
14.10.2012, 21:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 21:45
Привет! Вот еще темы с ответами:

Простая задачка с массивами - C++
Я наперсал программу которая находин максимальный елемент массива и его порядковый номер, все работает хорошо: #include &lt;iostream&gt; ...

Простая задачка на классы - C++
Здорова господа!!! Есть простая задачка: &quot;Разработайте базовый класс Persistent с операциями save() и no_save(), которые определяют,...

простая задачка с циклами - C++
Помогите со 2 задачей, ну или придумуйте свое подобное

Очень простая задачка (но не для меня) - C++
Привет, помогите плиз. У меня одностраничник, при заходе на него с ПК устройства, сайт почему автоматически перебрасывает вконец...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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