第11講 配列・ポインタを関数に渡す
第6話 置換解答例
解答例
#include<iostream>
using namespace std;
void f(int ***a);
void g(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;
}
g(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];
}
}
}
}
void g(int ***a){
int i,j,k,b[5][5][5];
for(i=0;i<3;i++){
for(j=0;j<5;j++){
for(k=0;k<5;k++){
b[i][j][k]=a[i][j][k];
}
}
}
for(i=0;i<3;i++){
for(j=0;j<5;j++){
for(k=0;k<5;k++){
b[i][j][k]=a[i][k][j];
}
}
}
}
配列やポインタを巻数に送るの学習は以上として、
次話では、分割ファイルについて学習します。
第5話へ 第12講第1話へ
C言語講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)