• API
• FAQ
• Tools
• Archive
daily pastebin goal
65%
SHARE
TWEET

ddd

a guest Jan 20th, 2019 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. // principalele operatii pentru polinoame sunt
2. /*
3. -> adaugarea unei termen (monom)
4. -> atribuirea unui polinom atltui polinom
5. -> * cu o constanta
6. -> ordonarea monoamelor dupa grad
7. -> suma a doua polinoame
8. -> diferenta a doua polinoame
9. -> produsul a doua polinoame
10. */
11.
12. class Monom
13. {
15.     double coef;
16.
17. public:
18.     Monom();
20.     Monom& operator=(Monom& monom);
21.     Monom& operator+(Monom& monom);
22.     Monom& operator-(Monom& monom);
23.     Monom& operator*(double constanta);
24.     Monom& operator*(Monom& monom);
26.     double GetCoeficient();
27. };
28.
29. class Polinom
30. {
31.     int nrMonoame;
32.     Monom data[50];
33.
34. public:
35.     Polinom();
37.     void DeleteMonom(Monom m);
38.     Polinom& operator=(Polinom& polinom);
39.     void MultiplicaCuOConstanta(double constanta);
40.     Polinom& operator+(Polinom& p);
41.     Polinom& operator-(Polinom& p);
42.     Polinom& operator*(Polinom& p);
43.     void Sort();
44. };
45.
46. Monom::Monom() {}
47.
49. {
50.     this->coef = coef;
52. }
53.
54. Monom& Monom::operator=(Monom& monom)
55. {
56.     if (this != &monom)
57.         return;
58.
60.     coef = monom.coef;
61. }
62.
63. double Monom::GetCoeficient()
64. {
65.     return coef;
66. }
67.
69. {
71. }
72.
73. Monom& Monom::operator+(Monom& monom)
74. {
75.     coef += monom.coef;
76.     return *this;
77. }
78.
79. Monom& Monom::operator-(Monom& monom)
80. {
81.     coef -= monom.coef;
82.     return *this;
83. }
84.
85. Monom& Monom::operator*(double constatanta)
86. {
87.     coef *= constatanta;
88. }
89.
90.
91. Polinom::Polinom()
92. {
93.     nrMonoame = 0;
94. }
95.
97. {
98.     bool found = false;
99.
100.     for (int i = 0; i < nrMonoame && !found; i++)
101.     {
103.         {
104.             data[i] = data[i] + monom;
105.             found = true;
106.         }
107.     }
108.
109.     if (!found)
110.     {
111.         data[++nrMonoame] = monom;
112.     }
113. }
114.
115. void Polinom::DeleteMonom(Monom monom)
116. {
117.     for (int i = 0; i < nrMonoame; i++)
118.     {
120.         {
121.             data[i] = data[nrMonoame - 1];
122.
123.             nrMonoame--;
124.             break;
125.         }
126.     }
127. }
128.
129. Polinom& Polinom::operator=(Polinom& polinom)
130. {
131.     if (this != &polinom)
132.         return*this;
133.
134.     if (nrMonoame == polinom.nrMonoame)
135.     {
136.         for (int i = 0; i < nrMonoame; i++)
137.         {
138.             data[i] = polinom.data[i];
139.         }
140.     }
141.     return *this;
142. }
143.
144. void Polinom::MultiplicaCuOConstanta(double constanta)
145. {
146.     if (constanta == 0)
147.     {
148.         nrMonoame = 0;
149.     }
150.
151.     else
152.     {
153.         for (int i = 0; i < nrMonoame; i++)
154.         {
155.             data[i] = data[i] * constanta;
156.         }
157.     }
158. }
159.
160. Polinom& Polinom::operator+(Polinom& polinom)
161. {
162.     Polinom temp = *this;
163.
164.     for (int i = 0; i < nrMonoame; i++)
165.     {
167.     }
168.     return temp;
169. }
170.
171. Polinom& Polinom::operator-(Polinom& polinom)
172. {
173.     polinom.MultiplicaCuOConstanta(-1);
174.
175.     for (int i = 0; i < nrMonoame; i++)
176.     {
178.     }
179.     return *this;
180. }
181.
182. Polinom& Polinom::operator*(Polinom& polinom)
183. {
184.     Polinom temp = *this;
185.
186.     for (int i = 0; i < nrMonoame; i++)
187.     {
188.         for (int j = 0; j < polinom.nrMonoame; j++)
189.         {