STLのvectorで・・・
4次元配列を使いたいので以下のようなプログラムを組んでみました。
--------------------------------------------------
#pragma warning( disable : 4786 )
#include <vector>
#include <iostream>
using namespace std;
void EditYMatrix(vector< vector< vector<int> > > *vi, int i);
void EditSquareMatrix(vector< vector<int> > *vi, int i);
int main(int argc, char* argv[])
{
int i, j, c;
vector< vector< vector< vector<int> > > > vi;
cout << "Xの要素数を入力してください" << endl;
cin >> c;
vi.resize(c);
cout << "Yの要素数を入力してください" << endl;
cin >> c;
for(i=0 ; i<vi.size() ; i++)
EditYMatrix(&vi[i], c);
cout << "Zとωの入力" << endl;
for(i=0; i<vi.size() ; i++){
for(j=0; j<vi[i].size() ; j++){
cout << i << "," << j << "番目の自由度を入力してください" << endl;
cin >> c;
EditSquareMatrix(&vi[i][j], c);
}
}
return 0;
}
void EditYMatrix(vector< vector< vector<int> > > *vi, int i)
{
vi->resize(i);
}
void EditSquareMatrix(vector< vector<int> > *vi, int i)
{
vi->resize(i);
for(int j=0; j<i ; j++)
vi[j].resize(i);
}
--------------------------------------------------
Y,Z,ωは可変で、Zとωは同じにするので、
ためしにこのようなプログラムを組んでみました。
ですが、実行途中でエラーが起きてしまいます。
/* verify block type */
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));
という部分でエラーが起きているのですが
知識不足で、どのような内容なのかわかりません。
どなたか分かる方教えてください。
OS:Win2000
VC++6.0
お礼
ありがとうございます。