配列(その1)

演習詳細

オプション課題

オプション課題(, ,)
注意!今回は制御構造の繰り返し(反復、ループ)を用いてはならない。

オプション課題1

下記の部分プログラムは、要素数6のint型1次元配列を生成し、配列の要素がそれぞれ、一つ前と二つ前の要素の値の合計を保持しており[ 例) 1, 1, 2, 3, 5, ... ] 、配列の最後の要素を表示する。
int[] a = new int[6]; //配列の宣言と生成

a[0] = 1;
a[1] = 1;
a[2] = a[0] + a[1];
a[3] = a[1] + a[2];
a[4] = a[2] + a[3];
a[5] = a[3] + a[4];

System.out.println(a[5]);
上記例を参考に、要素数11のint型1次元配列を生成し、配列の要素がそれぞれ、一つ前と2つ前の要素の値の合計を保持し、配列の最後の要素の値を表示するプログラム OKadai062001.java を作成せよ。

オプション課題2

下記のサンプルプログラム Swap.java は、2つのint型変数(ここではmとn)の値を交換し、その前後の値を表示するプログラムである。このプログラムを参考にして以下の課題のプログラムを作成せよ。
/*
   プログラム名: Swap.java
   作成日: 2016/06/20
   作成者: 情報花子
   概要: プログラムが行うことを自分で考えて説明する
*/
public class Swap {
    public static void main(String[] args) {
        int m = 3, n = 5;
	System.out.println("交換前");
        System.out.println("m = " + m +", n = " + n);

	int tmp = m;
	m = n;
	n = tmp;

	System.out.println("交換後");
	System.out.println("m = " + m + ", n = " + n);
    }
}

Swap.javaの実行結果

交換前
m = 3, n = 5
交換後
n = 5, m = 3

上記のサンプルプログラムを参考に、int型1次元配列を 1,3,5,7,9で初期化し2番目と4番目の要素の値を交換するプログラム OKadai062002.java を作成せよ。

OKadai062002の実行結果

交換前
a[0] = 1, a[1] = 3, a[2] = 5, a[3] = 7, a[4] = 9  
交換後
a[0] = 1, a[1] = 7, a[2] = 5, a[3] = 3, a[4] = 9

オプション課題3

オプション課題2を参考に、int型1次元配列の要素の値を下記の実行結果のように逆順にするプログラム OKadai062003.java を作成せよ。尚、配列は1,2,3,4で初期化するものとする。

OKadai062003の実行結果

交換前
a[0] = 1,a[1] = 2,a[2] = 3,a[3] = 4 
交換後
a[0] = 4,a[1] = 3,a[2] = 2,a[3] = 1



mackin