Добавление целых чисел, разбитых на векторы - PullRequest
1 голос
/ 31 января 2012

Итак, я пытаюсь построить программу, которая принимает 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;
}

1 Ответ

0 голосов
/ 31 января 2012
adigits.push_back(a<0 ? 20:10);
 while(a>0){
  adigits.push_back(a%10);
  a=a/10;
 }

Это просто подтолкнет 20 к adigits, если a уже меньше нуля, прежде чем цикл будет выполнен хотя бы один раз.

Переосмыслите свою логику;петля bdigits имеет тот же недостаток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...