第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++入門基礎講座へ