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

кодирование RLE - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка "Необработанное исключение" в программе с strlen и strtok http://www.cyberforum.ru/cpp-beginners/thread1016776.html
Из заданной текстовой строки распечатать только те слова, которые начинаются и оканчиваются одной и тоже буквой, используя функции strtok, strlen. Ответ выводится правильно,но вместе с ошибкой...
C++ Ошибка stdafx.h: No such file or directory при запуске программы выдает такую ошибку : fatal error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory посоветуйте пожалуйста что делать?? никак не могу справиться с... http://www.cyberforum.ru/cpp-beginners/thread1016760.html
C++ Вызов обратной функции в классе
// main.cpp #include "func.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { CREATEWIN(); bool bq = false; MSG msg;
C++ Задать число рандомом, высокое требование к качеству случайности
Здравствуйте, необходимо задать целое рандомное число от 0 до 1000 включительно, причем вероятность выпадания любого числа должна быть максимально равной. Как такое реализовать? Слышал что-то про...
C++ не могу разобраться в представлении символов http://www.cyberforum.ru/cpp-beginners/thread1016750.html
Скажите пожалуйста что будет выводить программа если из файла считывается символы(латинские, русские, цифры и прочее) причем массив в который считывается имеет тип: unsigned int, что будет выводить...
C++ Нужно получить массив Ребят, вы уже видели мой пост, в котором я написал белиберду, которую никто не понял. Вот нарисовал небольшую схемку. Нужно получить массив key, когда есть массив d и r. Часть кода есть, никак не... подробнее

Показать сообщение отдельно
lerenia
3 / 3 / 0
Регистрация: 16.10.2012
Сообщений: 192

кодирование RLE - C++

23.11.2013, 23:00. Просмотров 228. Ответов 0
Метки (Все метки)

я составила для себя алгоритм

допустим в файле
|65|65|66|
считали 65
считали следущее т.е. опять 65
считали следущее
т.е. 66
видим что не повторилось
значит 65 было два раза
теперь составялем для него счетчик
берем 00000010 т.е. цифру 2
и прибавляем к 127
получилось 10000010
теперь пишем его
а за ним 65
теперь возвращаемс к источнику там видим 67
читаем следущее
а читать нечего
значитт 67 один раз
67 это 01000011
тогда должно выйти закодированное 10000010 | 01000010 | 01000011
ну 67 всего 1
значит не будем счетчик сосавлять
признаком того что счетчика нету будет 0

при попытке реализовать получилось следующее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void encode( unsigned char a[] )
{
    int b[n], i,k, j=0, shetchik;
    for (i=0; i<n; i++)
    {
    if (a[i] = a[i+1])
    {
        j++;
        shetchik=j+127;
        for (k=0, k<n, k++)
        {
        b[i]=shetchik;
        b[i+1]=a[i];
        }       
    }
    }
}
вот я не понимаю как бы перезаписывать потом в дргой массив в порядке: счетчик|символ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru