第13講 3次魔方陣の自動生成
第7話 1行1行のトレースその3
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){
・
・
・
}
}
のループ処理が終了して
for(i2=1;i2<10;i2++){
a[0][1]=i2;
if(a[0][1]!=a[0][0]){
の4巡目になり
1 | 4 | 3 |
となりますが、これは重複テスト
if(a[0][1]!=a[0][0]){
をクリアして
3度目の
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巡目によって
1 | 4 | 1 |
これは重複検査
if(a[0][2]!=a[0][0] && a[0][2]!=a[0][1] ){
に抵触して第2巡目
1 | 4 | 2 |
で重複テスト
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+4+2=7
以下
1 | 4 | 3 |
合計検査不合格
1 | 4 | 4 |
重複検査不合格
1 | 4 | 5 |
合計検査不合格
1 | 4 | 6 |
合計検査不合格
1 | 4 | 7 |
合計検査不合格
1 | 4 | 8 |
合計検査不合格
1 | 4 | 9 |
1+4+9=13
ループ
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){
・
・
・
}
}
は、3回連続今回も敗北の憂き目にあいます。
第6話へ 第8話へ
C言語講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)