アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

よろしくお願いします。

A 回答 (4件)

まず自分でコード組め。


とりあえず以下のような感じかな?
コメント全然つけてませんが、これぐらい分からないと苦しいぞ。

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
    • good
    • 0

#3ですが、#3のコードそのままでは、抜けてるところがあるぞ。


それに気付けば完璧だ。
    • good
    • 0

設計モレなので質問


・繰り返し数も文字なの?
・1~9まで? 0はどう扱うの?
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!