第9講 ポインタの学習  
第6話 ポインタおよび1次元配列による4次魔方陣作成プログラム

ポインタによるコード例
#include<iostream>
using namespace std;
using namespace System;
void f();
int main(){
   f();
}
void f(){
   int *m,i,j;
   m=(int *)malloc(64);
   for(i=0;i<4;i++){
     for(j=0;j<4;j++){
       *(m+4*i+j)=4*i+j+1;
       if(*(m+4*i+j)<10)cout<<"0"<<*(m+4*i+j)<<" ";
       if(*(m+4*i+j)>=10)cout<<*(m+4*i+j)<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
   cout<<"4次魔方陣作成"<<endl;
   int w;
   for(i=0;i<2;i++){
     w=*(m+4*i+i);
     *(m+4*i+i)=*(m+4*(3-i)+(3-i));
     *(m+4*(3-i)+(3-i))=w;
   }
   for(i=0;i<2;i++){
     w=*(m+4*i+(3-i));
     *(m+4*i+(3-i))=*(m+4*(3-i)+i);
     *(m+4*(3-i)+i)=w;
   }
   for(i=0;i<4;i++){
     for(j=0;j<4;j++){
       if(*(m+4*i+j)<10)cout<<"0"<<*(m+4*i+j)<<" ";
       if(*(m+4*i+j)>=10)cout<<*(m+4*i+j)<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}
コンソール画面
入門

1次元配列による4次魔方陣作成プログラム
#include<iostream>
using namespace std;
using namespace System;
void f();
int main(){
   f();
}
void f(){
   int m[16],i,j;
   for(i=0;i<4;i++){
     for(j=0;j<4;j++){
       m[4*i+j]=4*i+j+1;
       if(m[4*i+j]<10)cout<<"0"<<m[4*i+j]<<" ";
       if(m[4*i+j]>=10)cout<<m[4*i+j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
   cout<<"4次魔方陣作成"<<endl;
   int w;
   for(i=0;i<2;i++){
     w=m[4*i+i];
     m[4*i+i]=m[4*(3-i)+(3-i)];
     m[4*(3-i)+(3-i)]=w;
   }
   for(i=0;i<2;i++){
     w=m[4*i+(3-i)];
     m[4*i+(3-i)]=m[4*(3-i)+i];
     m[4*(3-i)+i]=w;
   }
   for(i=0;i<4;i++){
     for(j=0;j<4;j++){
       if(m[4*i+j]<10)cout<<"0"<<m[4*i+j]<<" ";
       if(m[4*i+j]>=10)cout<<m[4*i+j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}
入門


第5話へ 第7話へ


戻る


VB講義へ
VB講義基礎へ

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