【課題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番目」となる. ↩︎