fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4.  
  5. using namespace std;
  6.  
  7. int konvert(char);
  8.  
  9. int main()
  10. {
  11.  
  12. string skladnik1, skladnik2;
  13. istringstream schowek1, schowek2;
  14. int t, skladnik1_Length, skladnik2_Length, rozmiar,skladnik11, skladnik22, suma;
  15. int dziesiatki = 0;
  16. int jednosci = 0;
  17. char d;
  18. cin >> t;
  19. for(int i =0; i<t; i++)
  20. {
  21. cin >> skladnik1 >> skladnik2;
  22. skladnik1_Length = skladnik1.size() -1;
  23. skladnik2_Length = skladnik2.size() -1;
  24. if(skladnik1_Length > skladnik2_Length)
  25. {
  26. for(int j = 0; j<skladnik1_Length - skladnik2_Length; j++)
  27. {
  28. skladnik2 = "0" + skladnik2;
  29. }
  30. }
  31. if(skladnik2_Length > skladnik1_Length)
  32. {
  33. for(int j = 0; j<skladnik2_Length - skladnik1_Length; j++)
  34. {
  35. skladnik1 = "0" + skladnik1;
  36. }
  37. }
  38. schowek1.str(skladnik1);
  39. schowek2.str(skladnik2);
  40. rozmiar = skladnik1.size()-1;
  41.  
  42. int *wynik = new int[rozmiar+2];
  43.  
  44. for(int j = 0; j<rozmiar+2; j++)
  45. {
  46. wynik[j] = 0;
  47. }
  48.  
  49. for(int j = rozmiar; j>=0; j--)
  50. {
  51. schowek1.seekg(j, ios::beg);
  52. schowek1.get(d);
  53. skladnik11 = konvert(d);
  54.  
  55. schowek2.seekg(j, ios::beg);
  56. schowek2.get(d);
  57. skladnik22 = konvert(d);
  58.  
  59. suma = skladnik11 + skladnik22;
  60. jednosci = suma % 10;
  61. jednosci = jednosci + dziesiatki;
  62. dziesiatki = suma / 10;
  63.  
  64. wynik[j+1] = jednosci;
  65.  
  66.  
  67. if(j == 0 && dziesiatki != 0)
  68. {
  69. wynik[0] = dziesiatki;
  70. }
  71. }
  72. for(int j = 0; j<rozmiar+2; j++)
  73. {
  74. if(j == 0 && wynik[0] != 0)
  75. {
  76. cout<<wynik[j];
  77. }
  78. if(j != 0)
  79. {
  80. cout<<wynik[j];
  81. }
  82. }
  83. delete [] wynik;
  84. cout<<endl;
  85. dziesiatki = 0;
  86.  
  87. }
  88.  
  89. return 0;
  90. }
  91.  
  92. int konvert(char c)
  93. {
  94. if (c == '0') return 0;
  95. if (c == '1') return 1;
  96. if (c == '2') return 2;
  97. if (c == '3') return 3;
  98. if (c == '4') return 4;
  99. if (c == '5') return 5;
  100. if (c == '6') return 6;
  101. if (c == '7') return 7;
  102. if (c == '8') return 8;
  103. if (c == '9') return 9;
  104. }
  105.  
Success #stdin #stdout 0s 4512KB
stdin
3
172 3498
123456789 987654321
1234567890123456789 12123343456567878909
stdout
3670
1111111110
13357911346691335698