资源简介

基于C++语言的游程编码设计,可以实现对输入数据进行游程编码解码

资源截图

代码片段和文件信息

#include 
using namespace std; 


int main() {
int colorb;     //分别用语记录当前灰度值和重复个数,b从1开始计数
int A[4][4];
int B[100];        //编码后长度不会超过80位
int ijakm; 

    //b用于保存B[]当前记录到的位置
cout<<“请依次输入16个灰度值:“;     //输入的灰度值在0-7
    for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cin>>A[i][j];
}
}cout<<“编码结果为:“; 
//下面开始游程编码
i=0;
j=0;
a=0; 
    b=0;
for(;i<4;i++)
{        
j=0;     //利用循环找出一行中相邻相同的灰度值及其重复个数并编码
color=A[i][0];
while(j<4)     //只有遇到color值不同或者一行结束时才编码
if(color==A[i][j])
{
b++;
    j++;
}
else
{
for(k=0;k<3;k++)
{
B[a+2-k]=color%2;
color=color/2;
}
b--;
for(k=0;k<2;k++)

评论

共有 条评论