Advertisement
Sammy24

AJUTOR M-AM SATURAT DE PROBLEMA!!

Apr 15th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. vector < int > suma;
  8. vector < int > produs;
  9. vector < int > cifren;
  10. int coeficienti[] = {4, 30, 50, 30, 6};
  11.  
  12. void prod(vector < int > &v, vector < int > &v2)
  13. {
  14. int i, j, t = 0;
  15.  
  16. vector < int > v3 = vector < int > (v.size() + v2.size() - 1 , 0);
  17.  
  18. for(i = 0; i < v.size(); i++)
  19. {
  20. for(j = 0; j < v2.size(); j++)
  21. {
  22. v3[i + j] += v[i] * v2[j];
  23. }
  24. }
  25.  
  26. for(i = 0; i < v3.size(); i++)
  27. {
  28. t += v3[i];
  29.  
  30. v3[i] = t % 10;
  31.  
  32. t /= 10;
  33. }
  34.  
  35. while(t)
  36. {
  37. v3.push_back(t % 10);
  38. t /= 10;
  39. }
  40.  
  41. cout <<"v3 ";
  42.  
  43.  
  44. v = vector < int > ();
  45.  
  46. for(i = 0; i < v3.size(); i++)
  47. {
  48. cout << v3[i];
  49. v.insert(v.begin() , v3[i]);
  50. }
  51. cout << " ";
  52. }
  53.  
  54. void adunare(vector < int > &v, vector < int > &v2)
  55. {
  56. int e = 0, i;
  57.  
  58. if(v.size() < v2 .size())
  59. {
  60. v.resize(v2.size());
  61.  
  62. for(i = v.size(); i < v2.size(); i++)
  63. {
  64. v.push_back(0);
  65. }
  66. }
  67. else
  68. {
  69. for(i = v2.size(); i < v.size(); i++)
  70. {
  71. v2.push_back(0);
  72. }
  73.  
  74. }
  75.  
  76. for(i = 0; i < v.size(); i++)
  77. {
  78. e += (v[i] + v2[i]);
  79. v[i] = e % 10;
  80. e /= 10;
  81. }
  82.  
  83. while(e)
  84. {
  85. v.push_back(e % 10);
  86. e /= 10;
  87. }
  88. }
  89.  
  90. void imp(vector < int > &v , int n)
  91. {
  92. int i , r = 0;
  93.  
  94. for(i = v.size() - 1; i >= 0; i--)
  95. {
  96. r = r * 10 + v[i];
  97. v[i] = r / n;
  98. r %= n;
  99. }
  100.  
  101.  
  102.  
  103. for( ; v.size() > 1 && v[v.size() - 1] == 0 ; )
  104. {
  105. v.pop_back();
  106. }
  107.  
  108. cout<<"imp ";
  109.  
  110. for(i = 0; i < v.size(); i++)
  111. {
  112. cout << v[i] << " ";
  113. }
  114. cout<<endl;
  115. }
  116.  
  117. int main()
  118. {
  119. int n;
  120.  
  121. cin >> n;
  122.  
  123. while(n)
  124. {
  125. cifren.insert(cifren.begin(), n % 10);
  126. n /= 10;
  127. }
  128.  
  129. int p = 1;
  130. int i, j;
  131.  
  132. for(i = 0; i < cifren.size(); i++)
  133. {
  134. cout << cifren[i];
  135. }
  136.  
  137. cout << '\n';
  138.  
  139. for(i = 0; i < 5; i++)
  140. {
  141. while(coeficienti[i])
  142. {
  143. produs.insert(produs.begin(), coeficienti[i] % 10);
  144. coeficienti[i] /= 10;
  145. }
  146.  
  147. cout << "\ncifre coeficienti: ";
  148.  
  149. for(j = 0; j < produs.size(); j++)
  150. {
  151. cout << produs[j];
  152. }
  153.  
  154. cout << '\n';
  155.  
  156. cout << "i: " << i + 1 << '\n';
  157.  
  158. for(j = 0; j < p; j++)
  159. {
  160. prod(produs, cifren);
  161. cout << "p: " << j + 1 << " ";
  162. for(int k = 0; k < produs.size(); k++)
  163. {
  164. cout << produs[k];
  165. }
  166.  
  167. cout << '\n';
  168. }
  169. cout << "produs nou: ";
  170.  
  171. for(j = 0; j< produs.size(); j++)
  172. {
  173. cout << produs[j];
  174. }
  175.  
  176. cout << '\n';
  177. cout << "suma ";
  178.  
  179. adunare(suma, produs);
  180. p++;
  181. produs = vector < int > (0);
  182.  
  183. for(j = 0; j < suma.size(); j++)
  184. {
  185. cout << suma[i];
  186. }
  187.  
  188. cout << '\n';
  189. }
  190.  
  191. for(j = 0; j < suma.size(); j++)
  192. {
  193. cout << suma[j];
  194. }
  195.  
  196. cout << '\n';
  197.  
  198. imp(suma , 120);
  199.  
  200.  
  201. cout << "suma ";
  202. for(i = 0; i < suma.size(); i++)
  203. {
  204. cout << suma[i];
  205. }
  206.  
  207. return 0;
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement