第13講 3次魔方陣の自動生成
第6話 1行1行のトレースその2
for(i3=1;i3<10;i3++){
a[0][2]=i3;
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
if(a[0][0]+a[0][1]+a[0][2]==15){
本話はここまで解説します。
となり、重複検査
if(a[0][1]!=a[0][0]){
をクリアして、
for(i3=1;i3<10;i3++){
a[0][2]=i3;
が入力対象になります。for文の第1回処理により、
となりますが、これは重複検査
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
に抵触しますので、
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
if(a[0][0]+a[0][1]+a[0][2]==15){
・
・
・
}
}
の命令は遂行されず、i3++が実行され
for(i3=1;i3<10;i3++){
a[0][2]=i3;
によって、
となりますが、これも重複検査
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
に抵触します。先も同じですが、ピンクが抵触する部分です。
したがって、今回も
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
if(a[0][0]+a[0][1]+a[0][2]==15){
・
・
・
}
}
は無視され、、i3++が実行され
for(i3=1;i3<10;i3++){
a[0][2]=i3;
によって、
となり、ようやく重複検査
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
をクリアしますが、残念ながら行合計検査
if(a[0][0]+a[0][1]+a[0][2]==15){
を通ることができません。
1+2+3=6
で15にはほど遠いのです。以下、
と進みますが、
1+2+9=12
で大分15に近づきましたが、善戦もここまでで
for(i3=1;i3<10;i3++){
a[0][2]=i3;
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
if(a[0][0]+a[0][1]+a[0][2]==15){
・
・
}
}
の全ループが終了したことになります。
第5話へ 第7話へ
C言語講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)