游程长度编码进行压缩

请问为什么矩阵最后一行输出的不对呢?本人编程基础比较差T_T

img

第一个输出多余,j+1==length 只是这一行,但整个二维不一定结束了。第三个输出的条件和这个应该一样。
a[i][j]==a[i][j+1]这个条件要修改,j==length-1时,j+1下标越界,这时应判断i<width-1 && a[i][j]==a[i+1][0]。
第二个和第三个输出,应该用if else,只执行一个,将第二个放第三个的相应else里面。