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

Кодирование длин серий RLE - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread1152689.html
Сама задача звучит так: задан текстовой файл, содержащий вещественные числа (сколько мы не знаем). Необходимо считать данные из этого файла, определить значение этих чисел и записать в двоичный файл...
C++ Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании Заданы два одномерных массива А(N) и В(N). Сформировать массив С(2*N), содержащий элементы обоих массивов, расположенные в порядке возрастании. Не могу понять, как их соединить в один массив в... http://www.cyberforum.ru/cpp-beginners/thread1152678.html
Возвращение массива из функции при наследовании C++
Здравствуйте! У меня есть класс(Circle), который наследуется от нескольких базовых. Мне нужно выполнить определенные вычисления, но перед этим вытащить массив типа double из экземпляра объекта...
C++ Как называется данная сортировка?
struct matter { char name; float udves; int prov; }; void main() { FILE *file; char slov="zzz"; int ob_ch=0, numer, *mass, schet=0, flag; float ud_ves=0; file=fopen (filename, "rb");
C++ Написать программу, выводящую все возможные трехзначные комбинации с числами от 0 до 9 http://www.cyberforum.ru/cpp-beginners/thread1152649.html
Нужно написать программу выводящую все возможный трехзначные комбинации с числами от 0 до 9. Вот как это сделать? Буду рад даже совету.
C++ Написать программу, которая удаляет из линейного списка входной последовательности целых чисел узел #include <iostream> #include <cstdlib> using namespace std; struct ult { int x; ult *pravo; }; подробнее

Показать сообщение отдельно
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
21.04.2014, 20:53
Вот так работает, но у меня почему-то количество последнего символа удваивается. Проверь у себя.
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
    ifstream file("INPUT_TEXT.txt");
    ofstream file_compr("COMPRESSED_TEXT.txt");
    
    char sym; //символ, который мы будем считывать
    int kol=1;// количество повторяющихся символов
 
    while(file.good())
    {
        file.get(sym);//считываем символ
        if(sym != file.peek() || kol == 9)// если символ не совпадает со следующим символом в файле
        {
            file_compr << kol << sym;
            // записываем результаты в выходной файл
            kol=0;
        }
        kol++;
    }
 
    file.close();
    file_compr.close();
 
    ifstream f1("COMPRESSED_TEXT.txt");
    ofstream file_decompr("DECOMPRESSED_TEXT.txt");
 
    char sym1,sym2;// предыдущий и последующий символы
    const char zero = '0';
    while(f1.good())
    {
        f1.get(sym1);
        f1.get(sym2);
        for(int i=0; i < sym1-zero; i++)
            file_decompr << sym2;
    }
 
    f1.close();
    file_decompr.close();
 
    system("PAUSE");
    return 0;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru