#blognavi
#blognavi
bnskには投票というシステムがあるのだけど、その集計プログラムのアルゴリズムを暇つぶしに考えたのでやっつけメモ。
- 投票が書き込まれたスレのdatファイルと、作品名のリストファイル(一行1タイトル)を引数で与える。
- 構造体(名前、投票数、関心票数)に作品名文字列をぶち込む。
- datファイル(1行1レスになっている)を先頭から1行ずつ読み込む。
- "投票"という文字列が出れば投票カウント関数へ飛ぶ。(その場でもいいけど。与えるのはそのレス入れた配列)
- 同じように"気になった作品"という文字列に対して同処理
- 関数内で先頭から作品名リストと文字列比較。作品名と一致したらカウント。投票の方は"投票"から"気になった作品"文字列が出るまでの間。関心票はそこから改行まで。
- dat終わったら作品名と投票数、関心票数を出力。
datを用意するのが面倒、もう少し細かく判定条件入れないとミスが出そう、スマートじゃねえ、なんて諸々のはまあ、思いつきなのでと言うことで。
カテゴリ: [雑記] - &trackback() - 2007年03月31日 21:03:25
#blognavi