Advertisement
Sammy24

produsxl.cpp

Mar 23rd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include <fstream>
  2. #include <vector>
  3. #include <iostream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. ifstream fin("produsxl.in");
  9. ofstream fout("produsxl.out");
  10.  
  11. vector < int > v;
  12. vector < int > v2;
  13.  
  14. int nr;
  15.  
  16. void citire(vector < int > &v)
  17. {
  18. int n;
  19.  
  20. for(int i = 0; i < n; i++)
  21. {
  22. int t;
  23.  
  24. fin >> t;
  25.  
  26. v.insert(v.begin(), t);
  27. }
  28.  
  29. fin >> nr;
  30. }
  31.  
  32. void adaugare(vector < int > &v2)
  33. {
  34. while(nr)
  35. {
  36. v2.push_back(nr % 10);
  37. nr /= 10;
  38. }
  39. }
  40.  
  41. void produs(vector < int > &v, vector < int > &v2)
  42. {
  43. int i, j, t = 0;
  44.  
  45. vector < int > v3;
  46.  
  47. int siz = v.size() + v2.size() - 2;
  48.  
  49. for(i = 0; i < siz; i++)
  50. {
  51. v3.push_back(0);
  52. }
  53.  
  54. for(i = 0; i < v.size(); i++)
  55. {
  56. for(j = 0; j < v2.size(); j++)
  57. {
  58. v[i + j] += v[i] * v2[j];
  59. }
  60. }
  61.  
  62. for(i = 0; i < v3.size(); i++)
  63. {
  64. t += v3[i];
  65.  
  66. v3[i] = t % 10;
  67.  
  68. t /= 10;
  69. }
  70.  
  71. if(t)
  72. {
  73. v3.push_back(t);
  74. }
  75.  
  76. for(i = 0; i < v3.size(); i++)
  77. {
  78. v[i] = v3[i];
  79. }
  80. }
  81.  
  82. void scriere(vector < int > &v)
  83. {
  84. for(int i = v.size() - 1; i >= 0; i++)
  85. {
  86. fout << v[i];
  87. }
  88. }
  89.  
  90. int main()
  91. {
  92. citire(v);
  93. adaugare(v2);
  94. produs(v, v2);
  95. scriere(v);
  96.  
  97. fout.close();
  98. fin.close();
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement