Advertisement
DMG

Sabiranje dva velika broja

DMG
Apr 15th, 2013
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. // dragutinmarjanovic
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int sl_cr(char a)
  6. {
  7.     switch(a)
  8.     {
  9.              case '0': return 0; break;
  10.              case '1': return 1; break;
  11.              case '2': return 2; break;
  12.              case '3': return 3; break;
  13.              case '4': return 4; break;
  14.              case '5': return 5; break;
  15.              case '6': return 6; break;
  16.              case '7': return 7; break;
  17.              case '8': return 8; break;
  18.              case '9': return 9; break;
  19.     }
  20. }
  21.  
  22. char cr_sl(int a)
  23. {
  24.     switch(a)
  25.     {
  26.              case 0: return '0'; break;
  27.              case 1: return '1'; break;
  28.              case 2: return '2'; break;
  29.              case 3: return '3'; break;
  30.              case 4: return '4'; break;
  31.              case 5: return '5'; break;
  32.              case 6: return '6'; break;
  33.              case 7: return '7'; break;
  34.              case 8: return '8'; break;
  35.              case 9: return '9'; break;
  36.     }  
  37. }
  38.  
  39. string saberi(string a, string b)
  40. {
  41.        int m=0, s=0;
  42.        string k="";
  43.        string t="";
  44.              
  45.        if (a.length()>b.length())
  46.        {
  47.           for (int i=0; i<a.length()-b.length(); i++)
  48.               t = t + "0";
  49.               t = t + b;
  50.               b = t;
  51.        }
  52.        else if (b.length()>a.length())
  53.        {
  54.           for (int i=0; i<b.length()-a.length(); i++)
  55.               t = t + "0";
  56.               t = t + a;
  57.               a = t;
  58.        }
  59.        
  60.        for (int i=a.length()-1; i>=0; i--)
  61.        {
  62.            s = sl_cr(a[i]) + sl_cr(b[i]) + m;
  63.            k = k + cr_sl(s%10);
  64.            m = s/10;
  65.        }
  66.        
  67.        if (m>0)
  68.           k = k + cr_sl(m);
  69.        
  70.        return k;
  71. }
  72.  
  73. main()
  74. {
  75.       string a, b;
  76.      
  77.       cin >> a >> b;
  78.      
  79.       string s = saberi(a, b);
  80.      
  81.       for (int i=s.length()-1; i>=0; i--)
  82.           cout << s[i];
  83.          
  84.       cout << endl;
  85.      
  86.       system("PAUSE");
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement