平成30年度春季 基本情報技術者試験(FE)の午後問題9(C言語)は簡易集計プログラムに関する問題でした。ファイルを扱うときは、Rubyなどのスクリプト言語を用いてきたのですが、久しぶりにC言語でファイル処理を行ってみました。
プログラム1(h30h_fe_pm9_1.c)
設問1の実行結果
$ gcc h30h_fe_pm9_1.c -o prog1 -DQ1 $ ./prog1 fig1.psv fig2.tsv && cat fig2.tsv FE-111 2 200 FE-222 1 400 FE-333 3 900 FE-444 2 1200
プログラム2(h30h_fe_pm9_2.c)
設問2の実行結果
$ gcc h30h_fe_pm9_1.c -o prog1 -DQ2 $ ./prog1 fig3.psv fig4.tsv && cat fig4.tsv $ gcc h30h_fe_pm9_2.c -o prog2 $ ./prog2 fig4.tsv 11 1 100 |** 12 2 800 |****************** 13 2 1100 |************************* 15 3 700 |***************
使用したデータファイル
fig1.psv
20180410|112610|FE-111|0001|000100 20180410|154358|FE-111|0001|000100 20180410|123820|FE-222|0002|000400 20180410|153249|FE-333|0001|000300 20180410|135044|FE-333|0001|000300 20180410|152859|FE-333|0001|000300 20180410|131923|FE-444|0002|000800 20180410|123907|FE-444|0001|000400
fig3.psv
20180410|11|2610|FE-111|0001|000100 20180410|12|3820|FE-222|0002|000400 20180410|12|3907|FE-444|0001|000400 20180410|13|1923|FE-444|0002|000800 20180410|13|5044|FE-333|0001|000300 20180410|15|2859|FE-333|0001|000300 20180410|15|3249|FE-333|0001|000300 20180410|15|4358|FE-111|0001|000100