【【c语言 二维数组 初始赋值 最多多少】】

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:58:30
double w[7][18]=
{{0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397,0.0410,0.0329,0.0370,0.0392,0.0361,0.0360,0.0392,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

{0.0407,0.0394,0.0339,0.0398,0.0376,0.0412,0.0394,0.0398,0.0403,0.0372,0.0398,0.0380,0.0394,0.0407,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

{0.0371,0.0416,0.0403,0.0435,0.0412,0.0334,0.0389,0.0412,0.0416,0.0311,0.0412,0.0307,0.0412,0.0371,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

{0.0370,0.0323,0.0430,0.0365,0.0397,0.0310,0.0397,0.0300,0.0402,0.0370,0.0421,0.0407,0.0416,0.0379,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

{0.0366,0.0399,0.0404,0.0362,0.0305,0.0362,0.0423,0.0287,0.0413,0.0423,0.0390,0.0423,0.0404,0.0371,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

{0.0401,0.0415,0.0356,0.0374,0.0383,0.0406,0.0428,0.0356,0.0356,0.0419,0.0383,0.0296,0.0383,0.0410,0.0388,0.0370,0.0361,0.0406,0.0392,0.0406,0.0397},

用stl中的动态数组多少行,列都行,前提是你的内存足够大
int d=3,c=18;
vector< vector<double> > Array;
vector< double > line;
for( j = 0; j < d; j++ )
{
Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。
for ( i = 0; i < c; i++ )
{
Array[ j ].push_back( i );
}
}
for( j = 0; j < d; j++ )
{
for( i = 0; i < Array[ j ].size(); i++ )
{
cout << Array[ j ][ i ] << " ";
}
cout<< endl;
}

无聊的人,既然你那么有空你就慢慢试吧。int a[n],n用二分法几下就出来了。如果是故意找茬请不要浪费大家的时间,直接把题目关了吧。

改成double w[7][21]就可以了

你每行的数字比18多了。。

竟然有人有耐性多输几列数据,高……

与C语言的编译器的限制无关,是因为你的初始化列表比实际的数组长度长所致.