我現在正在與iterators
算術運算和堆棧上的小問題。
我需要作出薩姆的vector<int>
第一和最後元件隨後的vector<int>
第二和最後元件,vector<int>
實施例的第三和最後一個元件的:
由用戶輸入數字
1 2 3 4 5 6 7 8 9
輸出應該是
10 11 12 13 14 15 16 17
一般的代碼應該使用iterator
與成員函數*.begin() , *.end()
只有做加法一樣,
1+9 2+9 3+9 4+9 5+9 6+9 7+9 ......
迭代器算術
所以基本上我需要實際的代碼,這個運算!我嘗試了很多方法,但沒有什麼會在我的腦海中,只有.begin()
和.end()
才能完成此操作。我發現了其他成員函數,但是這個函數在STD庫中進行了解釋,而不是基本的知識級別。因此,如果可能的話,我需要幫助才能使代碼的成員函數只有begin()
和end()
。
代碼,我走到這一步,
int main()
{
vector<int> numset;
int num_input;
auto beg=numset.begin(), end=numset.end();
while (cin>>num_input)
{
numset.push_back(num_input);
}
for (auto it = numset.begin()+1; it !=numset.end(); ++it)
{
// *it=*it+1+nuset.end(); -- Wrong X
// *it+=(end-beg)/2; -- Totally wrong(and totally stupid) X
// *it + numset.back() -- can't use other member functions X
//////// I've stack here dont know what code need //////
cout<<*it<<endl;
}
謝謝您的時間。
C++ Primer由誰?許多書有類似的標題。 – Potatoswatter
現在,您將使用其前一個元素而不是最後一個元素添加當前元素。 –
@AlexGreat:那麼你如何得到最後一個元素的價值呢? –