第8講 for文・if文・配列・ポインタを総動員して3次魔方陣の自動生成に挑戦する!
第7話 2次元表示を実現する関数g
2次元表示
を実現するプログラム例
void g(int *x){
for(i=0;i<9;i++){
cout<<x[i]<<" ";
if(i%3==2)cout<<endl;
}
cout<<endl;
}
さて、さらに改良して、
魔方陣自動生成プログラムを完成させたいと思います。
本来は、関数fを大幅にいじるのですが、
とりあえず関数gに
行の条件=すべての行合計が15
列の条件=すべての列合計が15
対角線の条件=2つの対角線合計が15
を付け加えて
を実現してください。
ただし、魔方陣総数を正しくカウントするためには、
gをvoid型からchar型に変更し、
fも若干いじる必要があります。
ヒントとして、
x[0] | x[1] | x[2] |
x[3] | x[4] | x[5] |
x[6] | x[7] | x[8] |
という表を載せておきましょう。
幸いにして、
行の条件=すべての行合計が15
列の条件=すべての列合計が15
対角線の条件=2つの対角線合計が15
のいずれもfor文で実現可能です。
第6話へ 第8話へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ