第7講 4次および6次魔方陣の作成
第10話 4次魔方陣作成プログラムその2
コード例#include<iostream>
using namespace std;
using namespace System;
void f();
int main(){
f();
}
void f(){
int m[4][4],i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
m[i][j]=4*i+j+1;
if(m[i][j]<10)cout<<"0"<<m[i][j]<<" ";
if(m[i][j]>=10)cout<<m[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<"4次魔方陣作成"<<endl;
int w;
for(i=0;i<2;i++){
w=m[0][i+1];
m[0][i+1]=m[3][2-i];
m[3][2-i]=w;
}
for(i=0;i<2;i++){
w=m[i+1][0];
m[i+1][0]=m[2-i][3];
m[2-i][3]=w;
}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]<10)cout<<"0"<<m[i][j]<<"
";
if(m[i][j]>=10)cout<<m[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}
コンソール画面
さて、第7講最後の課題です。
1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 |
6次魔方陣は、ピンクは上下を中心に対して対称に線対称移動し、
紺は中心に対して左右に対称に線対称移動してから
1 | 5 | 33 | 4 | 2 | 6 |
25 | 8 | 10 | 9 | 11 | 12 |
18 | 20 | 15 | 16 | 17 | 13 |
19 | 14 | 21 | 22 | 23 | 24 |
7 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 3 | 34 | 35 | 36 |
1 | 5 | 33 | 4 | 2 | 6 |
25 | 8 | 10 | 9 | 11 | 12 |
18 | 20 | 15 | 16 | 17 | 13 |
19 | 14 | 21 | 22 | 23 | 24 |
7 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 3 | 34 | 35 | 36 |
の薄緑の部分を中心に対して点対称移動しても
1 | 35 | 34 | 3 | 32 | 6 |
30 | 8 | 28 | 27 | 11 | 7 |
24 | 23 | 15 | 16 | 14 | 19 |
13 | 17 | 21 | 22 | 20 | 18 |
12 | 26 | 9 | 10 | 29 | 25 |
31 | 2 | 4 | 33 | 5 | 36 |
1 | 35 | 34 | 3 | 32 | 6 |
30 | 8 | 28 | 27 | 11 | 7 |
24 | 23 | 15 | 16 | 14 | 19 |
13 | 17 | 21 | 22 | 20 | 18 |
12 | 26 | 9 | 10 | 29 | 25 |
31 | 2 | 4 | 33 | 5 | 36 |
完成します。今度はこの方法で、6次魔方陣を作成してみましょう。
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)