プログラミング演習Ⅲ(2023)

【課題2-06】コンソール遊び - その3(加点)

プロジェクトタイプC#コンソールアプリ※
プロジェクト名Prac_2_06
ソリューション名PET2
ターゲットフレームワーク.NET 6.0 (長期的なサポート)
最上位レベルのステートメントを使用しない使用しない(チェックオン)

※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!

【課題2-05】と同様の棒グラフを,左右反転させたグラフ として コンソール(黒画面)に表示せよ.なお配列samplesの要素の値の範囲は0以上30以下であるという前提を置いてよい.

注意
  • この課題は加点課題である

配列の各要素の内容をfor文を用いてコンソールに表示すること. その際,各要素を出力結果のように1行に1つずつ以下の形式で表示すること.

i番目の要素(棒グラフ):添え字
  • 凡例
    • i番目の要素(棒グラフ)
      • その要素の値を,その値と同じ数の半角シャープ(#)で表示する
    • :
      • 文言.半角コロン
    • 添え字
      • その要素の添え字(インデックス)1.最初の要素はゼロ.
      • 空白埋め2文字分(右寄せ)で表示すること.
    • 改行
出力フォーマット

なお,仮に配列の内容(要素数や各要素の値)が変更されたとしても正しく動作するようにすること.

プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs全体を上書きすること).

テンプレートコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
namespace Prac_2_06
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 処理対象の配列(変更してはならない)
            int[] samples = GetSecretArray();

            /**********************************************************/
            /*                                                        */
            /*                         空欄                           */
            /*                                                        */
            /*         配列 samples の内容を設問に指定された          */
            /*         フォーマットで表示する                         */
            /*                                                        */
            /**********************************************************/
            
        }// end of Main()

        #region 変更してはならない
        static Random sRandom = new Random(128);
        static int[] GetSecretArray() 
        {
            int size = sRandom.Next(10, 20);
            int[] ret = new int[size];
            ret[0] = sRandom.Next(0, 10);
            for (int i = 1; i < size; ++i) 
                ret[i] = Math.Clamp(ret[i-1] + sRandom.Next(-3, 8), 0, 30);
            return ret;
        }
        #endregion
    }// end of class Program
}// end of namespace

正しく実装できた場合,実行結果は_のようになる。

                           ###: 0
                            ##: 1
                      ########: 2
               ###############: 3
              ################: 4
               ###############: 5
           ###################: 6
      ########################: 7
    ##########################: 8
 #############################: 9
##############################:10
##############################:11
   ###########################:12
##############################:13
##############################:14
実行結果

ヒント

なし


  1. C#では「何番目」はゼロ開始なので注意せよ.例えば,先頭から数えて最初の要素は「0番目」,先頭から数えて4個目の要素は「3番目」となる. ↩︎

Last updated on 2023-11-28
Published on 2023-11-28

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.