Professional Documents
Culture Documents
#include<string>
#include <list>
#include <map>
using namespace std;
int valoare;
int frecventa;
public:
Pereche() {
this->frecventa = 0;
this->valoare = 0;
}
int getFrecventa() {
return this->frecventa;
}
int getValoare() {
return this->valoare;
}
};
class Serie {
string serie;//
int nrPerechi;
Pereche * perechi;// vector dinamic de obiecte
public:
Serie() {
this->serie = "na";
this->nrPerechi = 0;
this->perechi = NULL;
}
if (nrPerechi > 0) {
this->nrPerechi = nrPerechi;
this->perechi = new Pereche[nrPerechi];// 2 12 1 18 3 15
for (int i = 0; i < nrPerechi; i++) {
this->perechi[i] = perechi[i];
}
}
else {
this->nrPerechi = 0;
this->perechi = NULL;
}
this->sortare();
}
if (this->perechi) {
delete[] this->perechi;
}
this->serie = sursa.serie;
this->nrPerechi = sursa.nrPerechi;
this->perechi = new Pereche[sursa.nrPerechi];// 2 12 1 18 3 15
for (int i = 0; i < sursa.nrPerechi; i++) {
this->perechi[i] = sursa.perechi[i];
}
return *this;
}
~Serie() {
if (this->perechi) {
delete[] this->perechi;
}
void sortare() {
// 0 1 2
// p2 p1 p3
// 1 2 3
// aux =2 p1
for (int i = 0; i < this->nrPerechi; i++) {
for (int j = i + 1; j < this->nrPerechi; j++) {
if (this->perechi[i].getValoare() > this-
>perechi[j].getValoare() ) {
Pereche aux;
aux = this->perechi[i];
this->perechi[i] = this->perechi[j];
this->perechi[j] = aux;
}
// 2 2 3 2 2.5
// 4 6
float getMedie() {
float s = 0;
int n = 0;
if (this->nrPerechi > 0) {
for (int i = 0; i < this->nrPerechi; i++) {
s += this->perechi[i].getValoare() * this-
>perechi[i].getFrecventa();
}
s /= n;
}
return s;
}
Serie & operator+= (Serie serie) {
// // s1 ( advn )
//// s2 p2 p3
// s1 += s2;
if (this->perechi) {
delete[] this->perechi;
}
this->perechi = v;
this->nrPerechi += serie.nrPerechi;
this->sortare();
return *this;
}
//cout<<s1;
// friend
// s1 += p2; // p1 p2 p3 [p4 ]
Serie& operator+= (Pereche perecheNoua) {
Pereche *v = new Pereche[this->nrPerechi + 1];
for (int i = 0; i < this->nrPerechi; i++) {
v[i] = this->perechi[i];
}
v[this->nrPerechi] = perecheNoua;
if (this->perechi) {
delete[] this->perechi;
}
this->perechi = v;
this->nrPerechi++;
this->sortare();
return *this;
}
if (ok == true) {
v = new Pereche[this->nrPerechi - 1];
int k = 0;
for (int i = 0; i < this->nrPerechi; i++) {
if (poz != i) {
v[k++] = this->perechi[i];
}
}
}
if (this->perechi) {
delete[] this->perechi;
}
this->perechi = v;
this->nrPerechi -= 1;
return *this;
}
};
int x;
public:
void f() {
cout << "Serie speciala" << endl;
}
};
return o;
}
class Serie1 {
map < int, int > mapa; // Pereche * perechi int nrPerechi
public:
Serie1() {
this->mapa = mapa;
return o;
}
float medie() {
float s = 0;
int n = 0;
map < int, int > ::iterator it1;
s += it1->first * it1->second;
}
for (it1 = this->mapa.begin(); it1 != this->mapa.end(); it1++) {
n += it1->second;
}
return s / n;
this->mapa.insert(p);
return *this;
}
//se1+=se2;
Serie1 & operator+= ( Serie1 serie) {
return *this;
}
};
int main() {
Pereche p1;
Pereche p2(2, 12);
Pereche p3(1, 18);
Pereche p4(3, 15);
Serie s;
Pereche vectorPerechi[3] = { p2,p3,p4 };
Serie s1 ("Note studenti", 3, vectorPerechi);
Serie s2(s1);
s = s2= s1;
// cout << s1.getMedie() << endl;
//s1 p1 p2 p3
//s2 p2 p3
s1 +=s2;
s1 += p2;
s1 -= p2;
s1 -= p2;
s1 -= p2;
//s1 => p1 p2 p3 p2 p3
list<Pereche>::iterator it;
for (it = serie.begin(); it != serie.end(); it++) {
// 2, p2 (2 12 )
// 3, p3( 3,4);
se1 += se2;
return 0;
}