添加整数分割成向量

时间:2012-01-31 06:04:48

标签: c++ stl

所以,我正在尝试构建一个需要2个整数的程序。之后它将加号/减号和数字分开并将它们保存到矢量中。最后我想添加这两个整数。我设法将int分成了向量,vector.size()给了我正确的答案,虽然我不能打印它们。有关如何添加整数的任何线索? 谢谢,

到目前为止,这是我的代码:

#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int
main(){
cout<<"Give 2 integers.\n";
int a,b;
cin>>a;
cin>>b;

vector<int> adigits;
//10 for positive, 20 for negative integer
adigits.push_back(a<0 ? 20:10);
  a=abs(a);
  while(a>0){
  adigits.push_back(a%10);
  a=a/10;
 }

  vector<int> bdigits;
  //10 for positive, 20 for negative integer
  bdigits.push_back(b<0 ? 20:10);
  b=abs(b);
  while(b>0){
    bdigits.push_back(b%10);
    b=b/10;
  }

 vector <int>::size_type c;
 vector <int>::size_type d;
 c=adigits.size();
 d=bdigits.size();

  cout<<c;
  cout<<d;

 return 0;
}

1 个答案:

答案 0 :(得分:0)

adigits.push_back(a<0 ? 20:10);
 while(a>0){
  adigits.push_back(a%10);
  a=a/10;
 }

如果20已经小于零,则只需将adigits推送到a,然后循环执行一次。

重新思考你的逻辑; bdigits循环具有相同的缺陷。