Advertisement
AntonioVillanueva

Suma de array int numeros muy grandes

Nov 14th, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. //Suma de numeros muy grandes ....
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. string suma(string nA, int B) {
  7.         string nB=std::to_string(B);
  8.         string respuesta("");
  9.         string tmp("");
  10.         int c(0);
  11.         int posA = nA.length()-1;
  12.         int posB = nB.length()-1;
  13.         int resto (0);
  14.         int digA, digB;
  15.  
  16.         while(posA>=0 || posB>=0) {
  17.             digA = (posA>=0) ? nA[posA]-'0': 0;
  18.             digB = (posB>=0) ? nB[posB]-'0': 0;
  19.            
  20.             c= digA+digB+resto;
  21.            
  22.             if(c>=10) { resto=1; c=c-10;} else {resto=0;}
  23.            
  24.             tmp+=c+'0';            
  25.             posA--;
  26.             posB--;
  27.         }
  28.        
  29.         if(resto>0) tmp+=resto+'0';
  30.  
  31.         for (int i=tmp.length()-1;i>=0;i--){respuesta+=tmp[i];}
  32.  
  33.         return respuesta;
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39.         int array[]={1000000001,1000000002,1000000003,1000000004,1000000005};
  40.         string resultado(std::to_string(array[0]));
  41.        
  42.         for (size_t i=(sizeof (array)/sizeof(array[0]));i>0;i--){
  43.             resultado=suma(resultado,array[i]);
  44.         }
  45.         cout <<resultado<<endl;
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement