第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度目の挑戦が失敗した後、ひとつ手前に帰り

となって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]){ に抵触

重複検査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][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){に不合格

重複検査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][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][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){に不合格

重複検査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){に不合格

重複検査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){に不合格

重複検査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度目はいかなることに相成るでしょうか。





第9話へ 第11話へ

戻る

C言語講義第1部へ
VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)