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

алгоритм RLE - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно описать структуры http://www.cyberforum.ru/cpp-beginners/thread959909.html
Вот мое задание : Университет содержит несколько факультетов, состоящих из кафедр. На факультете может быть несколько специальностей, по которым обучаются студенты, объединенные в учебные группы. Каждая специальность имеет свой перечень изучаемых предметов, каждый предмет - список рекомендованной литературы. По каждому из этих объектов хранится следующая информация: ФАКУЛЬТЕТ: наименование, ФИО...
C++ Проблемы с циклом while Подскажите пожалуйста: #include <stdio.h> int main() { int mas; int i=0; while(scanf("%d", &mas)!=EOF) { http://www.cyberforum.ru/cpp-beginners/thread959889.html
C++ Сделать вывод в консоль в виде таблицы
Помогите пожалуйста, как сделать вывод, как на картинке? Мои используемые значения: Xn=-1; Xk=1; dx=0.2;x=8; #include <stdlib.h> #include <stdio.h> #include <math.h> #include <conio.h>
Дан массив ненулевых целых чисел. Определить, сколько раз элементы массива при просмотре от его начала меняют знак. Например, в массиве 10, -4, 12, -4 C++
Дан массив ненулевых целых чисел. Определить, сколько раз элементы массива при просмотре от его начала меняют знак. Например, в массиве 10, -4, 12, -4, -89, знак меняется три раза. C++ .... main() int mas.....а дальше тьма...
C++ Сравнить скорость сходимости http://www.cyberforum.ru/cpp-beginners/thread959872.html
Задачка
C++ Найти ошибку в коде Помогите пожалуйста найти ошибку в коде: #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> int main() {system("chcp 1251"); double z,x,xn,xk,dx,a,ax,min,max; подробнее

Показать сообщение отдельно
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
22.09.2013, 19:47     алгоритм RLE
Не забудьте перевести вход и выход в байтовую запись, и считывание.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef RLE_H
#define RLE_H
 
#include <stdio.h>
 
void RLE_encode(FILE *input,FILE *output)
{
    int last = 0;
    int c;
 
    while ( ( c = getc( input ) ) >= 0 )  
    {   
        putc( (char) c, output );
 
        if ( c == last ) 
        {
            int count = 0;
            while ( count < 255 && ( ( c = getc( input ) ) >= 0 ) ) 
            {
                if ( c == last )
                {
                    count++;
                }
                else
                {
                    break;
                }
            }
            putc( (char) count, output );
            if ( count != 255 && c >= 0 )
            {
                putc( (char) c, output );
            }
        }
        last = c;
    }
}
 
void RLE_decode(FILE *input,FILE *output)
{  
    int last = 0;
    int c;
    int count;
 
    while ( ( c = getc( input ) ) >= 0 )  
    {
        putc( (unsigned char) c, output );
 
        if ( c == last ) 
        {
            count = getc( input );
            while ( count-- > 0 )
            {
                putc( (unsigned char) c, output );
            }
        }
        last = c;
    }
}
 
#endif
 
Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru