Написать программу кодировки (сжатия) цифр алгоритмом 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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы