【課題6-11】コンソール遊び - その7(加点)
| プロジェクトタイプ | C#コンソールアプリ※ |
|---|---|
| プロジェクト名 | Prac_6_11 |
| ソリューション名 | PET6 |
| ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
| 最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!
【課題4-07】と同じint型の配列samplesを文字を使った棒グラフとして
コンソール(黒画面)に表示せよ.なお配列samplesの要素の 値の範囲に前提を設けてはならない .
注意
- この課題は加点課題である.
- この設問では.Min()メソッドや.Max()メソッドなどあらかじめ用意されている機能を用いてはならない.
配列を作成したあと,配列の各要素の内容をfor文を用いてコンソールに表示すること. その際,各要素を出力結果のように1行に1つずつ以下の形式で表示すること.
添え字:i番目の要素(棒グラフ)
- 凡例
添え字- その要素の添え字(インデックス)1.最初の要素はゼロ.
- 空白埋め2文字分(右寄せ)で表示すること.
:- 文言.半角コロン
i番目の要素(棒グラフ)- 数値の値によって以下のように表示する.
- 【値がゼロである場合】
- グラフの中央(ゼロ点)に
|だけを表示する.
- グラフの中央(ゼロ点)に
- 【値が負である場合】
- グラフの中央(ゼロ点)に
|を表示し,その 左側にその値(の絶対値)と同じ数の半角シャープ(#)で表示する
- グラフの中央(ゼロ点)に
- 【値が正である場合】
- グラフの中央(ゼロ点)に
|を表示し,その 右側にその値と同じ数の半角シャープ(#)で表示する .
- グラフの中央(ゼロ点)に
- 【値がゼロである場合】
- 数値の値によって以下のように表示する.
- 改行
なお,仮に配列の内容(要素数や各要素の値)が変更されたとしても正しく動作するようにすること.
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs全体を上書きすること).
| |
正しく実装できた場合,実行結果は_のようになる。
0: #######| 1:##########| 2: ########| 3: |######### 4: |############ 5: |################ 6: |################## 7: ###| 8: |# 9: |# 10: ##| 11: #| 12: |## 13: | 14: ########| 15: |#
ヒント
- この設問では【課題4-08】と違い,配列内の各要素の値の範囲についての前提がない.
- したがって配列の内容から,値の範囲(少なくとも最小値)を事前に調べておく必要がある .
- 最小値/最大値を調べる方法についてはデータ構造とアルゴリズム(2023)第02回を参照せよ.
C#では「何番目」はゼロ開始なので注意せよ.例えば,先頭から数えて最初の要素は「0番目」,先頭から数えて4個目の要素は「3番目」となる. ↩︎