Есть ли способ определить конец вектора без итератора? Вот фрагмент кода, который я пытаюсь выполнить:
if(weights.is_open()){
while(getline(weights, line)){
std::stringstream extract(line);
node = 0;
cur_node = node;
in = 0;
while(extract >> cur_weight){
long double tempweight = (long double)cur_weight;
in += network[layer-1][node]*tempweight;
node ++;
}
in += 0.01;
network[layer][cur_node] = (1.0/(1+exp(-in)));
cout << showpoint << fixed << setprecision(12) << network[layer][cur_node]<< endl;;
//code would go here (is network[layer][node] the last element? If so, layer++;
}
}
Некоторый другой фон: сеть [уровень] [узел] была изменена ранее в программе. В небольшом тестовом файле, который у меня есть, это 3 слоя и узел разного размера (на самом деле это количество узлов), поэтому неизмененный 2d вектор с измененным размером и значениями, установленными на 0, будет выглядеть так:
0 0
0 0 //am I at the end of this vector? move down one layer and reset node to 0
0 0 0 0 0 0 0 0 0 0
Любойпомощь очень ценится. Спасибо