#include <iostream>
using namespace std;
double *c = new double;
double *d = new double;
double e[1000];
double* sort(double *b, int n){
double k;
for (int q=0; q<n; q++)
for (int w=0; w<n-1; w++){
if (b[w] < b[w+1]){
k = b[w];
b[w] = b[w+1];
b[w+1] = k;
}
}
return b;
}
class massiv{
public:
int start, end;
double *a;
massiv(int start1, int end1, double *b){
start = start1;
end = end1;
for (int q=start1; q<end1 - start1 + 1; q++)
a[q] = b[q-start1];
}
massiv(double *b){
a = b;
}
void newElement(int q, int a1){
if (q < end && q > start)
a[q] = a1;
else
printf("Index massiva vishel za predeli dopustimih znachenii\n");
}
double getElement(int q){
if (q < end && q > start)
return a[q];
else
printf("Index massiva vishel za predeli dopustimih znachenii\n");
}
massiv operator=(massiv b){
return b;
}
}
bool operator ==(massiv& a, massiv& b){
bool check = false;
c = sort(a.a, a.end - a.start + 1);
d = sort(b.a, b.end - b.start + 1);
if (a.end - a.start == b.end - b.start){
for (int q=0; q<a.end - a.start; q++)
if (c[q] != d[q]){
check = true;
break;
}
}
else
check = true;
if (check == true)
return false;
else
return true;
}
massiv operator*(massiv a, int k){
for (int q=a.start; q<a.end; q++){
a.a[q] *= k;
}
return a;
}
massiv operator/(massiv a, int k){
for (int q=a.start; q<a.end; q++){
a.a[q] /= k;
}
return a;
}
ostream operator<<(ostream &os, massiv & a)
{
for (int q=a.start; q<a.end; q++)
os << a.a[q];
return os;
}
int main(){
e[0] = 1;
e[1] = 2;
massiv a(e);
}