第14講 4次及び6次魔方陣の作成
第8話 左右対称移動
Ⅴ 中央の直線に対しても左右対称移動
36 | 2 | 4 | 3 | 5 | 33 |
12 | 29 | 9 | 10 | 27 | 7 |
13 | 17 | 22 | 21 | 14 | 18 |
19 | 20 | 16 | 15 | 23 | 24 |
25 | 11 | 27 | 28 | 8 | 30 |
6 | 32 | 33 | 34 | 35 | 1 |
解答コード例
class n{
public static void main(String args[]){
int[][] a=new int[6][6];
System.out.println("6次自然配列");
f(a);
h(a);
System.out.println("対角線の交換");
g(a);
h(a);
System.out.println("左右対称移動");
i(a);
h(a);
}
public static void f(int a[][]){
int i,j;
for(i=0;i<6;i++){
for(j=0;j<6;j++){
a[i][j]=6*i+j+1;
}
}
}
public static void h(int a[][]){
int i,j;
for(i=0;i<6;i++){
for(j=0;j<6;j++){
if(a[i][j]<10){
System.out.print (" ");
System.out.print(a[i][j]);
System.out.print (" ");
}
else{
System.out.print(a[i][j]);
System.out.print (" ");
}
}
System.out.println();
}
}
public static void g(int a[][]){
int i,w;
for(i=0;i<3;i++){
w=a[i][i];
a[i][i]=a[5-i][5-i];
a[5-i][5-i]=w;
}
for(i=0;i<3;i++){
w=a[i][5-i];
a[i][5-i]=a[5-i][i];
a[5-i][i]=w;
}
}
public static void i(int a[][]){
int i,w;
for(i=0;i<3;i++){
w=a[i][(i+2)%3];
a[i][(i+2)%3]=a[i][5-(i+2)%3];
a[i][5-(i+2)%3]=w;
}
}
}
実行画面
さて、最後の課題
Ⅵ 中央の直線に対しても上下対称移動
36 | 32 | 4 | 3 | 5 | 33 |
12 | 29 | 27 | 10 | 27 | 7 |
19 | 17 | 22 | 21 | 14 | 18 |
13 | 20 | 16 | 15 | 23 | 24 |
25 | 11 | 9 | 28 | 8 | 30 |
6 | 2 | 33 | 34 | 35 | 1 |
です。
第7話へ 第9話へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部