第10講 ポインタのポインタの学習  
第6話 ポインタのポインタによる6次魔方陣作成プログラム
6次
のコード例
#include<iostream>
using namespace std;
using namespace System;
void f();
int main(){
   f();
}
void f(){
   int **m,i,j;
   m=(int **)malloc(24);
   for(i=0;i<6;i++)m[i]=(int *)malloc(24);
   for(i=0;i<6;i++){
     for(j=0;j<6;j++){
       m[i][j]=6*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<<"6次魔方陣作成"<<endl;
   int w;
   for(i=0;i<3;i++){
     w=m[i][i];
     m[i][i]=m[5-i][5-i];
     m[5-i][5-i]=w;
   }
   for(i=0;i<3;i++){
     w=m[5][5-i];
     m[5][5-i]=m[5-i][i];
     m[5-i][i]=w;
   }
   for(i=0;i<3;i++){
     w=m[(i+2)%3][i];
     m[(i+2)%3][i]=m[5-(i+2)%3][i];
     m[5-(i+2)%3][i]=w;
   }
   for(i=0;i<3;i++){
     w=m[i][(i+2)%3];
     m[i][(i+2)%3]=m[i][5-(i+2)%3];
     m[i][5-(i+2)%3]=w;
   }
   for(i=0;i<6;i++){
     for(j=0;j<6;j++){
       if(m[i][j]<10)cout<<"0"<<m[i][j]<<" ";
       if(m[i][j]>=10)cout<<m[i][j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}

第5話へ 第7話へ


戻る


VB講義へ
VB講義基礎へ

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