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

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

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

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




Прошу написать полное решение на Си, сегодня голова уже не варит. Буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 20:57     Простая задачка: Распаковка строки
Посмотрите здесь:

C++ Простая задачка
простая задачка C++
C++ Простая задачка по массивам.
C++ Простая задачка на C++
Простая задачка на классы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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;
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
14.10.2012, 21:35     Простая задачка: Распаковка строки #3
Цитата Сообщение от Bacaramba Посмотреть сообщение
Прошу написать полное решение на Си, сегодня голова уже не варит. Буду благодарен.
вам немного в другой форум... http://www.cyberforum.ru/c-beginners/
Bacaramba
 Аватар для Bacaramba
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 48
14.10.2012, 21:45  [ТС]     Простая задачка: Распаковка строки #4
valeriikozlov, спасибо поставил. Ей богу так же писал, накосячил со строками.
Yandex
Объявления
14.10.2012, 21:45     Простая задачка: Распаковка строки
Ответ Создать тему
Опции темы

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