• ベストアンサー

C++でランレングス符号化のプログラムを組みたいです。

C++で、while,if文,char,intでランレングス符号化のプログラムを組みたいです。 たとえば、文字列aabcccと入力するとa2,b1,c3となるようにしたいです。 配列は使わずに、charで変数を二つ用意し、cinで入力、if文で判定しカウントという流れをwhileで繰り返す。そしてEOFで終了というような感じにしたいと思ってます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.3

まず自分でコード組め。 とりあえず以下のような感じかな? コメント全然つけてませんが、これぐらい分からないと苦しいぞ。 char c = 0, cc = 0; int cnt = 0; while ( 1 ) {  c << cin;  if ( c == '\n' ) break;  if ( c == cc ) {   cnt++;  } else {   if ( cc != 0 ) printf("%c%d", cc, cnt);   cnt = 0; cc = c;  } } ※インデントに全角スペースを使っています 間違ってたらスマンw

その他の回答 (3)

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.4

#3ですが、#3のコードそのままでは、抜けてるところがあるぞ。 それに気付けば完璧だ。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

設計モレなので質問 ・繰り返し数も文字なの? ・1~9まで? 0はどう扱うの?

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

わからない個所が書かれていないように見えますけど?

関連するQ&A