第11講 配列・ポインタを関数に渡す  
第5話 3次元配列を関数に渡す
C
解答例
#include<iostream>
using namespace std;
void f(int ***a);
int main(){
   int ***a,i,j,k; 
   a=(int ***)malloc(12);
   for(i=0;i<3;i++)a[i]=(int **)malloc(20);
   for(i=0;i<3;i++)for(j=0;j<5;j++)a[i][j]=(int *)malloc(20);
   cout<<"変換前"<<endl;
   for(i=0;i<3;i++){
     for(j=0;j<5;j++){
       for(k=0;k<5;k++){
         a[i][j][k]=25*i+5*j+k+1;
       }
     }
   }
   for(i=0;i<3;i++){
     for(j=0;j<5;j++){
       for(k=0;k<5;k++){
         if(a[i][j][k]<10)cout<<" "<<a[i][j][k]<<" ";
         if(a[i][j][k]>=10 && a[i][j][k]<100)cout<<" "<<a[i][j][k]<<" ";
         if(a[i][j][k]>=100)cout<<a[i][j][k]<<" ";
       }
       cout<<endl;
     }
     cout<<endl;
   }
   f(a);
   cout<<"変換後"<<endl;
   for(i=0;i<3;i++){
     for(j=0;j<5;j++){
       for(k=0;k<5;k++){
         if(a[i][j][k]<10)cout<<" "<<a[i][j][k]<<" ";
         if(a[i][j][k]>=10 && a[i][j][k]<100)cout<<" "<<a[i][j][k]<<" ";
         if(a[i][j][k]>=100)cout<<a[i][j][k]<<" ";
       }
       cout<<endl;
     }
     cout<<endl;
   }
}
void f(int ***a){
   int i,j,k;
   for(i=0;i<3;i++){
     for(j=0;j<5;j++){
       for(k=0;k<5;k++){
         a[i][j][k]=2*a[i][j][k];
       }
     }
   }  
}
では問題を出しましょう。3の行列をさらに置換させて、
初心者
とmainで表示させましょう。


第4話へ 第6話へ

戻る

C言語講義第1部へ
VB講義へ
VB講義基礎へ

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