Написать программу кодировки (сжатия) цифр алгоритмом RLE - C#
Формулировка задачи:
Нужно написать программу кодировки(сжатия) цифр алгоритмом RLE. Есть пример но он кодиркет не так как надо.
Например есть цифры 11111122222333 он выдаст 615233.
А вот если ввести 44 44 44 11 11 11 11 11 23 22 22 оно неправильно закодирует.
Если вручную за алгоритмом сделать то выйдет 03 44 05 11 01 23 02 22 например. Как ето реализировать в програме ?
algoritm_rle (1).rar
Прикрепил програму
Решение задачи: «Написать программу кодировки (сжатия) цифр алгоритмом RLE»
textual
Листинг программы
using System; using System.Collections.Generic; static class Program { static public void Main(String[] args) { int[] arr = { 44, 44, 44, 11, 11, 11, 11, 11, 23, 22, 22 }; List<int> rle = new List<int>(); for (int i = 0; i < arr.Length; i++) { if (i != 0 && arr[i] == rle[rle.Count - 1]) { rle[rle.Count - 2]++; } else { rle.Add(1); rle.Add(arr[i]); } } foreach (int i in rle) { Console.WriteLine(i); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д