#include <stdio.h>
int runlength(int length, char *str_org, char* str_enc){
/* ここに解答を書き加える */
int i = 1;
while(*str_org)
if (*str_org == *(str_org + 1)) { /*str_orgと次のオブジェクトが等しければiをインクリメント*/
i++;
*str_org++; /*str_orgは1つ後のオブジェクトを指す*/
}
else {
*str_enc++ = *str_org; /*文字を代入*/
printf("i = %d\n", i); /*debug*/
*str_enc++ = (char*)i; /*等しかった数iを代入*/
i = 1; /*iを初期化*/
*str_org++; /*str_orgは1つ後のオブジェクトを指す*/
}
*str_enc = '\0'; /*配列の最後にナル文字を代入*/
/* 解答ここまで */
}
int main(void){
char buf_r[1024] = {"aaaaaabbbcc"};
char buf_w[1024] = {0};
int length;
printf("文字列の入力\n");
scanf("%s",buf_r);
runlength(1024,buf_r,buf_w);
printf("[ランレングス符号化]\n%s\n",buf_w);
return(0);
}