#include <iostream>
#include <iomanip>
using namespace std;
class Dynamic_Array {
friend ostream & operator<<(ostream & os, const Dynamic_Array & an_array);
public:
Dynamic_Array(int elements = 2);
~Dynamic_Array();
void fill_random();
void shuffle_random();
int search_diff_nums();
private:
double * m_p_array;
int m_size;
public:
const int UP_LIMIT = 50;
const int LOW_LIMIT = -50;
private:
int m_search_equal_nums();
};
Dynamic_Array::Dynamic_Array(int elements)
{
m_p_array = new double[elements];
m_size = elements;
}
Dynamic_Array::~Dynamic_Array()
{
delete [] m_p_array;
}
ostream & operator<<(ostream & os, const Dynamic_Array & an_array)
{
os << "Array:\n";
os << fixed << setprecision(2);
for (int i = 0; i < an_array.m_size; ++i)
{
os << setw(5) << an_array.m_p_array[i];
}
os << endl;
return os;
}
int main(void)
{
Dynamic_Array an_array(20);
cout << an_array << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBEeW5hbWljX0FycmF5IHsKICAgIGZyaWVuZCBvc3RyZWFtICYgb3BlcmF0b3I8PChvc3RyZWFtICYgb3MsIGNvbnN0IER5bmFtaWNfQXJyYXkgJiBhbl9hcnJheSk7CnB1YmxpYzoKICAgIER5bmFtaWNfQXJyYXkoaW50IGVsZW1lbnRzID0gMik7CiAgICB+RHluYW1pY19BcnJheSgpOwogICAgdm9pZCBmaWxsX3JhbmRvbSgpOwogICAgdm9pZCBzaHVmZmxlX3JhbmRvbSgpOwogICAgaW50IHNlYXJjaF9kaWZmX251bXMoKTsKcHJpdmF0ZToKICAgIGRvdWJsZSAqIG1fcF9hcnJheTsKICAgIGludCBtX3NpemU7CnB1YmxpYzoKICAgIGNvbnN0IGludCBVUF9MSU1JVCA9IDUwOwogICAgY29uc3QgaW50IExPV19MSU1JVCA9IC01MDsKcHJpdmF0ZToKICAgIGludCBtX3NlYXJjaF9lcXVhbF9udW1zKCk7Cn07CgpEeW5hbWljX0FycmF5OjpEeW5hbWljX0FycmF5KGludCBlbGVtZW50cykKewogICAgbV9wX2FycmF5ID0gbmV3IGRvdWJsZVtlbGVtZW50c107CiAgICBtX3NpemUgPSBlbGVtZW50czsKfQoKRHluYW1pY19BcnJheTo6fkR5bmFtaWNfQXJyYXkoKQp7CiAgICBkZWxldGUgW10gbV9wX2FycmF5Owp9Cgpvc3RyZWFtICYgb3BlcmF0b3I8PChvc3RyZWFtICYgb3MsIGNvbnN0IER5bmFtaWNfQXJyYXkgJiBhbl9hcnJheSkKewogICAgb3MgPDwgIkFycmF5OlxuIjsKICAgIG9zIDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigyKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYW5fYXJyYXkubV9zaXplOyArK2kpCiAgICB7CiAgICAgICAgb3MgPDwgc2V0dyg1KSA8PCBhbl9hcnJheS5tX3BfYXJyYXlbaV07CiAgICB9CiAgICBvcyA8PCBlbmRsOwoKICAgIHJldHVybiBvczsKfQoKaW50IG1haW4odm9pZCkKewogICAgRHluYW1pY19BcnJheSBhbl9hcnJheSgyMCk7CiAgICBjb3V0IDw8IGFuX2FycmF5IDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K