情報科学演習 実習課題 2012.01.23

Back to text page


実習課題

  1. 値の並べ替え1

    以下のように配列を定義する.

    	    int ary[3] = {1, 2, 3};
    

    配列の先頭の要素と最後の要素を入れ換えて,配列の中身が3,2,1という順番 になるような処理を考えよ.

  2. 値の並べ替え2

    例題5.3を参考に,配列の要素の値を大きい順に並べ替える操作を行なうプログ ラムを考える.100以下の正の整数を乱数で5つ発生させ,それらを大きい順に並 べ変えよ.

     85  48  72  41  51
     85  72  51  48  41
    

  3. 2次元配列の基本

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

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

  4. 設問iiiの改造

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

         99  28  94
         77  15  84
         95   3   6
    204             120
    

  5. 配列要素の書き換え

    5×5のマトリックス状に●もしくは○をランダムに表示する.出現確率はそれぞ れ1/2ずつとする.その操作を何度か繰り返し,○のところに●が出た場合には ●で置き換えるが,●の部分に○が出ても置き換えないとする.すなわち,段々 と●が多くなるようにし,全部が●になる まで繰り返すプログラムを作成せよ.

    ●●○○○
    ○●●○●
    ○○●●○
    ○●●○●
    ○○○●○
    
    ●●○○○
    ●●●○●
    ●○●●●
    ○●●○●
    ●●●●○
    
    ●●●●○
    ●●●○●
    ●○●●●
    ●●●○●
    ●●●●○
    
    ●●●●○
    ●●●○●
    ●○●●●
    ●●●○●
    ●●●●○
    
    ●●●●○
    ●●●○●
    ●○●●●
    ●●●●●
    ●●●●○
    
    ●●●●●
    ●●●○●
    ●●●●●
    ●●●●●
    ●●●●●
    
    ●●●●●
    ●●●○●
    ●●●●●
    ●●●●●
    ●●●●●
    
    ●●●●●
    ●●●●●
    ●●●●●
    ●●●●●
    ●●●●●
    

    上の例は,最初の1回分とそれ以後の修正分とでループを分けています.修正の 部分は while 文を使用して,全部黒丸になることを数値化してその数値 により終了の判定を行っています.

Back to text page