我已經以這種方式宣告了我的雙陣列
double feature_values[] = {0.0003323988609746907, 0.6412162477054423, 9.545269768297, -1323.6125512135593, -1512.0718516647562, -2073.6020535721273, -2578.302701605687, 0.27304053703708875, 0.5580326301604825, 0.34912544310755905, 0.550917816717867, 49.7455110651867, 1821.15723334093, -61.3700045037962, -49.400686298507, 13.11111111111111, 26.0, 12.222222222222221, 18.0, 0.3111111111111111, 0.325, 0.4148148148148148, 0.43333333333333335, 0.5930328763108722, 0.7343377194812131, 0.23685155593995189, 0.6754530381265557, 0.16582557525922734, 0.009828988419922594, 0.00017475124235758377, 0.0003779194334627987, 0.0008100853061379151, 2.9387129701088046, 0.41880424639672703, 2.639057329615259, 0.0, 2.75, 2.807354922057604, 0.07124096827009982, 0 , 0.003, 0.1435385870250432, 0.5547574989867142, 0.1445909953802227};
int index;
for(int i=0;i<44;i )
{
data[i].missing=-1;
data[i].fvalue=feature_values[i];
printf("feature[%d]=%.8f\n",i,feature_values[I]);
predict_res(data,0,result);
}
我有 6 個不同的feature_values陣列。我想為每個人列印結果。目前我每次都需要更改陣列值才能得到結果。那么,如何宣告雙陣列陣列并在 for 回圈中使用它。
uj5u.com熱心網友回復:
C has std::array,它有一個size()成員。如果大小在運行時應該非常大,請使用std::vector. 它也有一個size()成員。
uj5u.com熱心網友回復:
只需使用std::array常量大小的陣列。此示例使用整數,但概念相同。
#include <iostream>
#include <array>
typedef std::array<std::array<int, 3>, 2> arr_2d_t;
int main(int argc, char* argv[]) {
arr_2d_t arr_2d;
int num = 0;
for (size_t i = 0; i < 2; i) {
for (size_t e = 0; e < 3; e) {
arr_2d[i][e] = num ;
}
}
for (size_t i = 0; i < 2; i) {
for (size_t e = 0; e < 3; e) {
std::cout << arr_2d[i][e] << " ";
}
std::cout << std::endl;
}
}
uj5u.com熱心網友回復:
那么如何宣告雙陣列陣列并在 for 回圈中使用它。
宣告陣列陣列的語法是這樣的:
double feature_values[6][44];
請注意,陣列的元素具有相同的型別。因此,您不能擁有不同長度的子陣列。
如何在 for 回圈中使用它。
與任何其他陣列一樣。例子:
for(auto& sub_array : feature_values) {
for(auto& element : sub_array) {
use_value(element);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472146.html
上一篇:如何在C 中分配二維初始化串列?
下一篇:如何使用PCL進行顏色過濾
