C/C++の宿題片付けます 145代目
■ このスレッドは過去ログ倉庫に格納されています
0313282
2011/01/13(木) 02:00:46ごちゃごちゃしてて読むのが苦痛かもしれないんですが、もしよければどなたかお願いします
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク)
縦は不定(500〜1000行)、横が10列で大量に数値が書かれているcsvファイルをまず読み込みます。仮にsuuchi.csvとして
読み込んだ値を配列suuchi[][10]のようなところに格納する
処理をした後の結果を書き込むresult[][]も同じサイズで用意する
その後suuchi[][]内のセルを順番に参照していき、正の値が出たときはresult[][]の同じ位置にその正の値をそのまま格納する
負の値が出たときに、そのセルの列の前5個、後ろ5個を参照
(例えばsuuchi[120][3]が負のとき、suuchi[115][3]〜suuchi[125][3]までを参照)し以下の処理を行う
前にも後ろにも正の値が検出された場合 → 参照しているセルに一番近い前と後ろの値の2つの平均値を取得しresulut[][]に格納する
(suuchi[118][3]が30でsuuchi[122][3]が40の場合、負の値であったsuuchi[120][3]を35に変更してresulut[120][3]のほうに代入
このときsuuchi[117][3]が正の値であったとしてもsuuchi[120][3]に位置が近いsuuchi[118][3]を対象とする)
前あるいは後ろの片方にしか正の値が検出されなかった場合 → 一番近い値をそのまま別の配列に格納する
(suuchi[118][3]が30でsuuchi[121][3]以降が全部負の値であった場合、suuchi[118][3]の30という値をそのままresulut[120][3]のほうに代入する
後ろにしか正の値がなかった場合も同様にそのままの値を代入する)
前にも後ろにも正の値が無い場合 → そのままの負の値で別の配列に格納する
(suuchi[120][3]が負で、suuchi[115][3]〜suuchi[125][3]を見ても全部負のときはsuuchi[120][3]の負の値をそのままresulut[120][3]に代入する)
最初の5行と最後の5行は参照できる範囲まで参照できればOKです
最後にresult[][]に入っているデータをresult.csvとして出力する
[3] 環境
[3.1] OS: Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C++
[4] 期限:できれば1月13日までに
[5] その他の制限: なし
■ このスレッドは過去ログ倉庫に格納されています