簡體   English   中英

將整數相加成向量

[英]Adding integers split into vectors

因此,我正在嘗試構建一個包含2個整數的程序。 稍后,它將正負號和數字分開,並將它們保存為向量。 最后,我想將這兩個整數相加。 我設法將整數拆分為矢量,盡管我無法打印它們,但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;
}
adigits.push_back(a<0 ? 20:10);
 while(a>0){
  adigits.push_back(a%10);
  a=a/10;
 }

這將只是把一個20adigits如果a已經小於零的循環執行甚至一度之前。

重新思考你的邏輯; bdigits循環具有相同的缺陷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM