2014-09-06 35 views
-1
#include <iostream> 
#include <vector> 
using namespace std; 

int main() 
{ 
    int testcases = 0; 
    int length; 
    int item =0; 

    std::vector<int> v; 

    cin>>testcases; 
    for (int i=0; i<testcases; ++i) 
    { 
     cin>>length; 

     v.resize(length); 
     for (int j=0; j<length; ++j) 
     { 

      cin >> item; 
      cout << "item entered:" << item << endl; 
      v.push_back(item); 

     } 

     cout << v[0] << " "; 
     cout << *v.begin() << " "; 

     int loop=0; 
     cin>>loop; 

     int range1=0, range2=0; 


     int result = 0; 
     for (int k=0; k<loop; ++k) 
     { 
      result = 0; 
      cin>>range1; 
      cin>>range2; 
      cout << v[range1]<< " "<< v[range2] <<endl; 
      while (range1<=range2) 
      { 
       result = result^v[range1]; 
       ++range1; 
      } 
      cout << result << endl; 
     } 

    } 


    return 0; 
} 

爲什麼v [0]和* v.begin()我沒有通過一些0作爲輸入值陣列爲什麼v [0]和* v.begin()打印0,即使我沒有通過某個0作爲數組的輸入值

回答

2

這是因爲push_back調用添加到載體,它是由resize調用創建項目後的年底

如果要在向量中設置特定條目,則需要在輸入循環中使用數組索引語法。

+0

謝謝。它解決了這個問題。我從最後30分鐘卡在這裏。 – 2014-09-06 08:53:52