第13講 ベクタの学習
第7話 3次元ベクタを関数に渡す(その1)
解答例
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int n1,n2,n3,i,j;
n1=4;
n2=3;
n3=5;
vector< vector < vector <int> > > a(n1);
for(i=0;i<n1;i++)a[i].resize(n2);
for(i=0;i<n1;i++){
for(j=0;j<n2;j++){
a[i][j].resize(n3);
}
}
String^ w;
vector< vector < vector <int> > >::iterator x;
x=a.begin();
w=f(x,w,n1,n2,n3);
label1->Text=w;
}
String^ f(vector< vector < vector <int> > >::iterator
x,String^ w,int n1,int n2,int n3){
int i,j,k;
for(i=0;i<n1;i++){
for(j=0;j<n2;j++){
for(k=0;k<n3;k++){
x[i][j][k]=(i+j+k)%9+1;
w+=x[i][j][k]+L" ";
}
w+=L"\n";
}
w+=L"\n";
}
return(w);
}
(コピーペースト用
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int n1,n2,n3,i,j;
n1=4;
n2=3;
n3=5;
vector< vector < vector <int> > > a(n1);
for(i=0;i<n1;i++)a[i].resize(n2);
for(i=0;i<n1;i++){
for(j=0;j<n2;j++){
a[i][j].resize(n3);
}
}
String^ w;
vector< vector < vector <int> > >::iterator x;
x=a.begin();
w=f(x,w,n1,n2,n3);
label1->Text=w;
}
String^ f(vector< vector < vector <int> > >::iterator x,String^ w,int n1,int n2,int n3){
int i,j,k;
for(i=0;i<n1;i++){
for(j=0;j<n2;j++){
for(k=0;k<n3;k++){
x[i][j][k]=(i+j+k)%9+1;
w+=x[i][j][k]+L" ";
}
w+=L"\n";
}
w+=L"\n";
}
return(w);
}
)
それでは皆さん、また問題です。
Form1を次のように改良して下さい。
そして、もう一つ3次元ベクタを用意して、それをlabel2に表示させ、
さらに、label1とlabel2の合計をlabel3に表示させて下さい。
label2の中味は、どうぞご自由に。
例えば、次のようにしてください。
和を求めるので、3次元ベクタaとbの各添え字数は一致させなければなりません。
第11講第6話へ 第12講第1話へ 第13講第6話へ 第13講第8話へ
vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ