第9講 配列とfor文を利用して3次魔方陣を作ろう
第3話 3次順列方陣の生成
の解答コード例
class e{
public static void main(String args[]){
f();
}
public static void f(){
int i,j,k;
int[] a=new int[3];
for(i=1;i<4;i++){
a[0]=i;
for(j=1;j<4;j++){
a[1]=j;
if(a[1]!=a[0]){
for(k=1;k<4;k++){
a[2]=k;
if(a[2]!=a[0] && a[2]!=a[1]){
System.out.print(a[0]);
System.out.print (" ");
System.out.print(a[1]);
System.out.print (" ");
System.out.print(a[2]);
System.out.println();
}
}
}
}
}
}
}
(ここは解説を省略していますが、
是非第5話の解説を参照してご自分でトレースを行ってください。)
さて、次の課題です。
私は、
1 | 2 |
3 | 4 |
1 | 2 |
4 | 3 |
1 | 3 |
2 | 4 |
1 | 3 |
4 | 2 |
・・・・
を順列方陣と名付けています。
順列を方陣に並べているからです。
その総数は、4×3×2×1=24個です。
これを発生させるプログラムを2次元配列と4次元ループで実現しましょう。
(実際には、1列)
用意する配列は、今回は2次元配列ということにしましょう。
第2話へ 第4話へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部