Advertisement
AntonioVillanueva

Suma de numeros mucho mas grandes ....

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