Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

平成30年度春季基本情報午後問9

平成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