プログラミング入門II 実習課題 2019.06.24

Back to text page


実習課題

  1. 2次元配列の基本

    100以下の正の整数となる乱数を9つ発生させ,以下のように乱数を表示するとと もに,各行と列の和を表示するプログラムを作成しましょう.

     10  69  18  97
     45  38  23 106
     28   8  30  66
     83 115  71
    

    解答例

  2. 和を求めるプログラムの改造

    前問を改造して,対角線上の斜めの3つの数の和を求めるようにしましょう.

         99  28  94
         77  15  84
         95   3   6
    204             120
    

    解答例

  3. 表示の工夫

    以下に示す配列を用意して,その要素として1~100の範囲の自然数を乱数により代入します.

    	int ary[3][10];
    

    要素の数値を最初は10個ずつ3行に表示し,つぎにはそれを縦横入れ換えて表示するプログラムを作成しましょう.

     76   8  73  58  72   5  40  99  77  75
     59  61  84  12  36 100  36  72  60  55
     85  98  98  25 100  73  11  83  41  50
    
     76  59  85
      8  61  98
     73  84  98
     58  12  25
     72  36 100
      5 100  73
     40  36  11
     99  72  83
     77  60  41
     75  55  50
    

  4. カウンタ

    0から9までの整数を乱数により30回発生させることを20回繰り返してマトリックス状に表示します.その中で一番0が多かった行と列に印 ( * ) をつけるプログラムを作成しましょう.

    518725921581075944487811046036
    789553367626725331999683709502
    192277605567131985074064554417
    846073955401447535253951326067
    944561158808062717463950003701 *
    696072300180208691447734965237
    419246698618839698854740246781
    642568338119004185163667683272
    536793848661781392820386164403
    659550034892960391596534263823
    411366369760078209678233879174
    735861617793712553430475064194
    567066127098581837392560166797
    356352995896775850782038066865
    712340659340939614714910936714
    486742708854047030401112125998
    639203495470886509641774286905
    069181641190370150317604125945
    543653917248378503636506931625
    199676977793742502086838541815
               *                 
    

    同数の場合はどちらかが表示されていれば構いません.
    解答例

  5. 2次元座標

    1から5までの整数2個の組を5回乱数により発生させそれをxy座標とします.それらの座標を表示するプログラムを作成しましょう.

    (3,2) (3,5) (3,1) (5,3) (4,2) 
    
    5 |     *    
    4 |          
    3 |         *
    2 |     * *  
    1 |     *    
    0 +-----------
      0 1 2 3 4 5
    

    5x5の配列の要素を最初全て0にしておいて,出た座標のところだけ1にします.フラグと同じ効果です.

    座標の重複は気にしなくても構いません.
  6. グループ単位の並べ替え

    2次元の配列を用いると,あるデータの組をまとめて並べ替えることができます.以下の例で試してみましょう.

    2桁の正の整数を乱数により3個発生させることを10回行い,数字を表示します.次に,その3個の数の和の大きい順に表示し直すプログラムを作成しましょう.

     1: 74 45 98 -- 217
     2: 58 44 54 -- 156
     3: 58 91 13 -- 162
     4: 77 89 96 -- 262
     5: 29 60 22 -- 111
     6: 60 12 14 --  86
     7: 35 65 71 -- 171
     8: 35 24 62 -- 121
     9: 20 27 22 --  69
    10: 84 25 23 -- 132
    
     1: 77 89 96 -- 262
     2: 74 45 98 -- 217
     3: 35 65 71 -- 171
     4: 58 91 13 -- 162
     5: 58 44 54 -- 156
     6: 84 25 23 -- 132
     7: 35 24 62 -- 121
     8: 29 60 22 -- 111
     9: 60 12 14 --  86
    10: 20 27 22 --  69
    

    用意する配列は ary[10][4] のようにします.内側の配列の最後に和を入れておくと便利なので.配列ごとの入れ替えなのでその処理は3重の反復処理になります.

Back to text page