C++Builder相談室 Part19at TECH
C++Builder相談室 Part19 - 暇つぶし2ch249:デフォルトの名無しさん
08/12/09 23:48:23
>>238
今C++Builder動く環境にないので疑似コードで。

変数start_posに-1を代入。(-1は「カウントしてない」というマーキング)
変数iを使って、メモ1の最初から最後までループを回す。{
 start_posの値が-1で、{
  メモ1の行iの内容が"1"なら、{
   start_posにiの値を代入。
  }
 }
 そうじゃなくて、{
  メモ1の行iの内容が"0"なら、{
   start_posの値が"1"の開始位置を指しているので、これを表示。
   そして(i-start_pos)の計算結果が"1"の続いた個数なので、これも表示。
   次のカウントのために、start_posに-1を代入する。
  }
 }
}

連続したデータを処理するときはいろんなやり方があるけど、
・データの変わり目に注目する。("1"の始まりと、"1"の終わり="0"の始まり)
・変わり目でプログラムで行う処理を切り替える。(カウント中と、結果表示&カウント終了)
とするのが一つの方法。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch