Размер вектора

pz.IV

День добрый. У меня проблема. Нужно объявить вектор, заполнить его случайными числами в диапазоне от -50 до 50, вывести в listbox1. После каждого отрицательного элемента добавить 0 и вывести результат в listbox2.У меня всё работает, только я не могу взять размер вектора для второго цикла. Когда я ставлю, к примеру, какое нибудь числовое значение, то он работает именно до него, «съедая» оставшиеся элемента вектора. v.size, почему-то, не работает
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
vector <int> v;
for(int i=0; i<10; i++){
int a=rand()%100-50;
v.push_back(a);
listBox1->Items->Add(v[i]);     
}
for(int i=0; i<???; i++){
if(v[i]<0)
v.insert(v.begin+1+i,0);
listBox2->Items->Add(v[i]);
}
4 ответа

pz.IV

v.insert(v.begin+1+i,0);
Как у вас это вообще скомпилировалось? И не v.size, а v.size()


pz.IV

Хм, и правда. Теперь эта строка бастует.


pz.IV

После методов нужно ставить () Т.е. должно быть
v.insert(v.begin()+1+i,0);
А цикл таким
for(int i=0; i<v.size(); i++)


pz.IV

Спасибо большое, пойду читать матчасть : )