こんにちは、

fuku です。みなさん

いかが お過ごしですか。


熊本の地震が 早く落ち着きます ように

 全ての人が、よりうまくいきます ように

亡くなられた方の、ご冥福をお祈りします。


極選分析 基本情報技術者
 予想問題集

より、
p666
ラン レングス法

以下、参考 コードです。




#include <stdio.h>
#include <string.h>

int runLength(const char *, char *, int *);

int main(){

const char srcStr[15] = {'A','A','A','A','B','B','B','C','C','D','D','D','D','D','\0'};
char dstData[15];
int dstData_n[15];
printf("%s\n", srcStr);
runLength(srcStr, dstData, dstData_n);

}

int runLength(const char *srcStr, char *dstData, int *dstData_n){
   int i;
   int j;
   int k;
   int size;
   char count;
   char moji;

   i=0;
   j=0;
   size = strlen(srcStr);
   count = '0';
   moji = srcStr[0];

   while(i <= size){
     if(moji != srcStr[i]){
        dstData[j] = moji;
        dstData[j+1] = count;
        j += 2;
       count = '0';
       moji = srcStr[i];}
else{
   i++;
   count++;}

  }
   dstData[j] = '\0';
printf("%s\n", dstData);

}