問題是讀一組整數到vector,計算并輸出相鄰資料的和.如果讀入的是奇數,則提示用戶最后一個數沒有求和,并輸出其值
#include <iostream>
#include <vector>
using std::vector;
using namespace std;
int main()
{
int s;
int i;
vector<int> text;
while(cin>>s)
{
text.push_back(s);
}
i=text.size();
if(i%2==0)
{
for(vector<int>::size_type a=0;a<text.size-1;a+=2)
{
cout<<text[a]+text[a+1]<<endl;
}
}
else
{
cout<<"最后一個元素沒有求和,值為:"<<text[i]<<endl;
}
return 0;
}
編譯時出現這個錯誤:
error C2296: '-' : illegal, left operand has type 'unsigned int (__thiscall std::vector<int,class std::allocator<int> >::*)(void) const'.
求大神指點
uj5u.com熱心網友回復:
for(vector<int>::size_type a=0;a<text.size-1;a+=2)改為
for(vector<int>::size_type a=0;a<text.size()-1;a+=2)
另外i為奇數時,沒有執行求和操作,text[i] 下標超限了
uj5u.com熱心網友回復:
謝謝,成功運行轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/119843.html
標籤:基礎類
