Subscribe Us

Responsive Advertisement

Advertisement

Binary Run Length Encoding and Decoding Using c++

 


#include<bits/stdc++.h>
using namespace std;
vector<int>v;

void encoding(string &s)
{
     int n=s.size();
     int i=0;
     int cnt=0;
     for(i=0;i<n;i++)
     {
        if(s[i]=='1')
        {
            v.push_back(cnt);
            cnt=0;
        }
        else
        {
             cnt++;
        }

     }
     if(s[n-1]=='0')v.push_back(cnt);
     
}
void decoding()
{
    for (int i = 0; i < v.size(); i++)
    {
        for(int j=0;j<v[i];j++)
        {
             cout<<0;
        }
        cout<<1;
    }
    cout<<endl;
   
}
int main()
{


    string s;
    cout<<"enter your string"<<endl;
    cin>>s;
    encoding(s);

    for(int i=0;i<v.size();i++)
    {
         cout<<v[i];
    }

    cout<<endl;

    decoding();


    return 0;
}

Post a Comment

0 Comments