第13講 3次魔方陣の自動生成
第9話 セルa[1][0]a[1][1]a[1][2]へ
for(i4=1;i4<10;i4++){
a[1][0]=i4;
if(a[1][0]!=a[0][0] && a[1][0]!=a[0][1] && a[1][0]!=a[0][2]){
for(i5=1;i5<10;i5++){
a[1][1]=i5;
if(a[1][1]!=a[0][0] && a[1][1]!=a[0][1] && a[1][1]!=a[0][2]
&& a[1][1]!=a[1][0]){
for(i6=1;i6<10;i6++){
a[1][2]=i6;
if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){
if(a[1][0]+a[1][1]+a[1][2]==15){
を解説します。
1 | 5 | 9 |
1 | ||
重複検査if(a[1][0]!=a[0][0] && a[1][0]!=a[0][1] && a[1][0]!=a[0][2]){ に抵触
1 | 5 | 9 |
2 | ||
重複検査if(a[1][0]!=a[0][0] && a[1][0]!=a[0][1] && a[1][0]!=a[0][2]){ をパスし、
for(i5=1;i5<10;i5++){
a[1][1]=i5;
if(a[1][1]!=a[0][0] && a[1][1]!=a[0][1] && a[1][1]!=a[0][2]
&& a[1][1]!=a[1][0]){
へ。
1 | 5 | 9 |
2 | 1 | |
重複検査if(a[1][1]!=a[0][0] && a[1][1]!=a[0][1] && a[1][1]!=a[0][2] && a[1][1]!=a[1][0]){ に抵触
1 | 5 | 9 |
2 | 2 | |
重複検査if(a[1][1]!=a[0][0] && a[1][1]!=a[0][1] && a[1][1]!=a[0][2] && a[1][1]!=a[1][0]){ に抵触
1 | 5 | 9 |
2 | 3 | |
重複検査if(a[1][1]!=a[0][0] && a[1][1]!=a[0][1] && a[1][1]!=a[0][2]
&& a[1][1]!=a[1][0]){ に合格し、
for(i6=1;i6<10;i6++){
a[1][2]=i6;
if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){
if(a[1][0]+a[1][1]+a[1][2]==15){
へ進む。
1 | 5 | 9 |
2 | 3 | 1 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に抵触
1 | 5 | 9 |
2 | 3 | 2 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に抵触
1 | 5 | 9 |
2 | 3 | 3 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に抵触
1 | 5 | 9 |
2 | 3 | 4 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2]
&& a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に合格しますが、
合計検査if(a[1][0]+a[1][1]+a[1][2]==15){に不合格
以下、
1 | 5 | 9 |
2 | 3 | 5 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に抵触
1 | 5 | 9 |
2 | 3 | 6 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2]
&& a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に合格しますが、
合計検査if(a[1][0]+a[1][1]+a[1][2]==15){に不合格
1 | 5 | 9 |
2 | 3 | 7 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2]
&& a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に合格しますが、
合計検査if(a[1][0]+a[1][1]+a[1][2]==15){に不合格
1 | 5 | 9 |
2 | 3 | 8 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2]
&& a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に合格しますが、
合計検査if(a[1][0]+a[1][1]+a[1][2]==15){に不合格
1 | 5 | 9 |
2 | 3 | 9 |
重複検査if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){ に抵触。
こうして、ループ
for(i6=1;i6<10;i6++){
a[1][2]=i6;
if(a[1][2]!=a[0][0] && a[1][2]!=a[0][1] && a[1][2]!=a[0][2] && a[1][2]!=a[1][0] && a[1][2]!=a[1][1]){
if(a[1][0]+a[1][1]+a[1][2]==15){
・
・
・
}
}
の1度目の挑戦は善戦むなしく終わりを告げるのです。
C言語講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)