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

Подскажите, как должно выглядеть это задание? - C++

Восстановить пароль Регистрация
 
Mitrandir
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 16
16.08.2011, 21:59     Подскажите, как должно выглядеть это задание? #1
Разработайте приложение rle.exe, выполняющее RLE-компрессию бинарных файлов с сильно разреженным содержимым, а также декомпрессию упакованных ею файлов. Необходимо реализовать следующий принцип компрессии файла:
При обнаружении последовательности одинаковых байтов, она кодируется при помощи двух байтов. Первый байт хранит количество повторов следующего за ним байтов. Например, последовательность байт AAABBBBC, будет представлена в виде следующей последовательности байт:
3, 'A', 4, 'B', 1, 'C'
Таким образом, исходная 8-байтовая последовательность будет представлена при помощи всего шести байт.
Входные файлы нулевой длины представляются в виде выходных файлов нулевой длины.

Как выглядит чтение фала по байтам и как надо в итоге это все записать ?

Добавлено через 11 минут
Как выглядит чтение фала по байтам? Файл открывается в виде машинного кода? Записывать также надо в виде машинного кода?
или же в текстовый файл?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2011, 21:59     Подскажите, как должно выглядеть это задание?
Посмотрите здесь:

Ошибка деления на ноль, хотя это должно обойти C++
C++ Как это будет выглядеть в С++
C++ Как сделать это задание?
Как это будет выглядеть на С++? (пасскаль) C++
Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 C++
C++ Как это задание сделать через рекурсию?
C++ как это будет выглядеть на С++?
C++ Подскажите, как формула будет выглядеть на С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
16.08.2011, 22:06     Подскажите, как должно выглядеть это задание? #2
Цитата Сообщение от Mitrandir Посмотреть сообщение
Как выглядит чтение фала по байтам и как надо в итоге это все записать ?
The following C program opens a binary file called myfile, reads five bytes from it, and then closes the file.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
  char buffer[5] = {0};  /* initialized to zeroes */
  int i, rc;
  FILE *fp = fopen("myfile", "rb");
  if (fp == NULL) {
    perror("Failed to open file \"myfile\"");
    return EXIT_FAILURE;
  }
  for (i = 0; (rc = getc(fp)) != EOF && i < 5; buffer[i++] = rc)
    ;
  fclose(fp);
  if (i == 5) {
    puts("The bytes read were...");
    printf("%x %x %x %x %x\n", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4]);
  } else
    fputs("There was an error reading the file.\n", stderr);
  return EXIT_SUCCESS;
}
http://en.wikipedia.org/wiki/C_file_...am_using_fgetc
Mitrandir
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 16
17.08.2011, 20:54  [ТС]     Подскажите, как должно выглядеть это задание? #3
Спасибо!
Yandex
Объявления
17.08.2011, 20:54     Подскажите, как должно выглядеть это задание?
Ответ Создать тему
Опции темы

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