第13講 3次魔方陣の自動生成
第10話 セルa[1][2]へ2度目の挑戦
こうして、ループ
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度目の挑戦が失敗した後、ひとつ手前に帰り
1 | 5 | 9 |
2 | 4 | 9 |
となって2度目の挑戦が始まります。
1 | 5 | 9 |
2 | 4 | 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 | 4 | 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 | 4 | 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]){ をパスしますが、
合計検査if(a[1][0]+a[1][1]+a[1][2]==15){に不合格
1 | 5 | 9 |
2 | 4 | 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]){
1 | 5 | 9 |
2 | 4 | 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 | 4 | 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 | 4 | 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 | 4 | 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 | 4 | 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]){ に抵触。
重複検査に不合格だったとはいえ、
2+4+9=14で後一歩のところまで来ています。
ですから、2度の挑戦も失敗に終わったわけですが、惜敗と言えます。
さて、3度目はいかなることに相成るでしょうか。
C言語講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)