Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.79 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. class Vectori_de_vectori;
  7.  
  8. class Vector
  9. {
  10. int dim;
  11. int *v;
  12. friend class Vectori_de_vectori;
  13. public:
  14.  
  15. Vector()
  16. {
  17. dim = 0;
  18. v = new int[0];
  19. }
  20.  
  21. Vector(int dimensiune,int nr)
  22. {
  23. dim = dimensiune;
  24. v = new int[dim + 1];
  25. for(int i = 0; i < dimensiune; i++)
  26. v[i] = nr;
  27. }
  28.  
  29. Vector(Vector &x)
  30. {
  31. dim = x.dim;
  32. v = new int [dim + 1];
  33. for(int i = 0; i < dim; i++)
  34. v[i] = x.v[i];
  35. }
  36. ~Vector()
  37. {
  38. dim = 0;
  39. delete[] v;
  40. }
  41. int actualizeazaComponente(int numarElemente,int element)
  42. {
  43. delete[] v;
  44. dim = numarElemente;
  45. v = new int [dim + 1];
  46. for(int i = 0; i < dim; i++)
  47. v[i] = element;
  48. return 0;
  49. }
  50. Vector& operator=(Vector &x);
  51.  
  52. int suma(Vector&);
  53.  
  54. void max_si_poz(Vector&);
  55.  
  56. void sortare(Vector&);
  57.  
  58. int operator*(Vector &y)
  59. {
  60. int produs = 0;
  61. for (int i = 0; i < this->dim; i++)
  62. produs = produs + this->v[i] * y.v[i];
  63. return produs;
  64. }
  65. friend istream& operator>>(istream &t,Vector &x);
  66. friend ostream& operator<<(ostream &r,Vector &x);
  67. };
  68.  
  69. istream& operator>>(istream & t,Vector &x)
  70. {
  71. t >> x.dim;
  72. for(int i = 0; i < x.dim; i++)
  73. t >> x.v[i];
  74. return t;
  75. }
  76.  
  77. ostream& operator<<(ostream& r,Vector &x)
  78. {
  79. r << x.dim;
  80. r << endl;
  81. for(int i = 0; i < x.dim; i++)
  82. r << x.v[i] << " ";
  83. return r;
  84. }
  85.  
  86. Vector& Vector::operator=(Vector &x)
  87. {
  88. if(this != &x)
  89. {
  90. delete[] v;
  91. dim = x.dim;
  92. v = new int [dim + 1];
  93. for(int i = 0; i < dim; i++)
  94. v[i] = x.v[i];
  95. }
  96. return *this;
  97. }
  98.  
  99. int Vector::suma(Vector &x)
  100. {
  101. int s = 0;
  102. for(int i = 0; i < x.dim; i++)
  103. s = s + x.v[i];
  104. return s;
  105. }
  106.  
  107. void Vector::max_si_poz(Vector &x)
  108. {
  109. int max = 0,poz = 0;
  110. for(int i = 0; i < x.dim; i++)
  111. if(x.v[i] > max)
  112. {
  113. max = x.v[i];
  114. poz = i;
  115. }
  116. cout << max << " " << poz;
  117. }
  118.  
  119. void Vector::sortare(Vector &x)
  120. {
  121. int aux;
  122. for(int i = 0; i < x.dim - 1; i++)
  123. for(int j = i + 1; j < x.dim; j++)
  124. if(x.v[i] > x.v[j])
  125. {
  126. aux = x.v[i];
  127. x.v[i] = x.v[j];
  128. x.v[j] = aux;
  129. }
  130. }
  131.  
  132.  
  133.  
  134. class Vectori_de_vectori
  135. {
  136. int dim1;
  137. Vector *v1;
  138. public:
  139. Vectori_de_vectori()
  140. {
  141. dim1 = 0;
  142. v1=new Vector[0];
  143. }
  144.  
  145.  
  146. Vectori_de_vectori(int numar,int componenta)
  147. {
  148. dim1 = numar;
  149. v1 = new Vector[dim1 + 1];
  150. for(int i = 0; i < dim1; i++)
  151. {
  152. v1[i].v = new int[1];
  153. v1[i].v[0] = componenta;
  154. }
  155. }
  156.  
  157. Vectori_de_vectori(Vectori_de_vectori &x)
  158. {
  159. dim1 = x.dim1;
  160. v1 = new Vector [dim1 + 1];
  161. for(int i=0; i < dim1; i++)
  162. for(int j=0; j < x.v1[i].dim; j++)
  163. v1[i].v[j]=x.v1[i].v[j];
  164.  
  165. }
  166.  
  167. ~Vectori_de_vectori()
  168. {
  169. dim1 = 0;
  170. delete[] v1;
  171. }
  172.  
  173. void creare_matrice(Vectori_de_vectori&);
  174.  
  175. friend istream& operator>>(istream &t,Vectori_de_vectori &x);
  176. friend ostream& operator<<(ostream &r,Vectori_de_vectori &x);
  177.  
  178. Vectori_de_vectori& operator+(Vectori_de_vectori&);
  179.  
  180.  
  181. };
  182.  
  183. void Vectori_de_vectori::creare_matrice(Vectori_de_vectori &x)
  184. {
  185. int maxim = 0,**matrice;
  186. for(int i = 0; i < x.dim1; i++)
  187. if(maxim < x.v1[i].dim)
  188. maxim = x.v1[i].dim;
  189. matrice= new int*[x.dim1 + 1];
  190. for(int i = 0; i < x.dim1; i++)
  191. matrice[i] = new int[maxim+1];
  192. for(int i = 0; i < x.dim1; i++)
  193. for(int j = 0; j < x.dim1; j++)
  194. matrice[i][j]=0;
  195. for(int i = 0; i < x.dim1; i++)
  196. for(int j = 0; j < x.v1[i].dim; j++)
  197. matrice[i][j]=x.v1[i].v[j];
  198. for(int i = 0; i < x.dim1; i++)
  199. {
  200. for(int j = 0; j < x.v1[i].dim; j++)
  201. cout<<x.v1[i].v[j]<<" ";
  202. cout<<endl;
  203. }
  204. }
  205.  
  206.  
  207.  
  208.  
  209. istream& operator>>(istream & t,Vectori_de_vectori &x)
  210. {
  211. t >> x.dim1;
  212. for(int i = 0; i < x.dim1; i++)
  213. t >> x.v1[i];
  214. return t;
  215. }
  216. ostream& operator<<(ostream& r,Vectori_de_vectori &x)
  217. {
  218. r << x.dim1;
  219. r << endl;
  220. for(int i = 0; i < x.dim1; i++)
  221. r << x.v1[i] << " ";
  222. return r;
  223. }
  224.  
  225. Vectori_de_vectori& Vectori_de_vectori::operator+(Vectori_de_vectori & x)
  226. {
  227. int maxim1=0,maxim2=0,maxim,maxlin;
  228. for(int i = 0; i < x.dim1; i++)
  229. if(maxim1 < x.v1[i].dim)
  230. maxim1 = x.v1[i].dim;
  231. for(int i = 0; i < this.dim1; i++)
  232. if(maxim2 < this.v1[i].dim)
  233. maxim2 = this.v1[i].dim;
  234. maxim=max(maxim1,maxim2);
  235. maxlin=max(x.dim1,this.dim1);
  236. Vectori_de_vectori suma_matrice;
  237.  
  238. suma_matrice.dim1=maxlin;
  239.  
  240.  
  241. }
  242.  
  243.  
  244. int maxim = 0,**matrice;
  245. for(int i = 0; i < x.dim1; i++)
  246. if(maxim < x.v1[i].dim)
  247. maxim = x.v1[i].dim;
  248. matrice= new int*[x.dim1 + 1];
  249. for(int i = 0; i < x.dim1; i++)
  250. matrice[i] = new int[maxim+1];
  251. for(int i = 0; i < x.dim1; i++)
  252. for(int j = 0; j < x.dim1; j++)
  253. matrice[i][j]=0;
  254. for(int i = 0; i < x.dim1; i++)
  255. for(int j = 0; j < x.v1[i].dim; j++)
  256. matrice[i][j]=x.v1[i].v[j];
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271. int main()
  272. {
  273. Vector v;
  274. Vector v2(2,3);
  275. cout << v2 << '\n';
  276. cout << v << '\n';
  277. return 0;
  278. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement