Загрузка данных


#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

class Massiv {
private:
	int* arr;
	int n;
public:
	Massiv() {
		n = rand() % 10 + 4;
		arr = new int[n];
		for (int i = 0; i < n; i++)
			arr[i] = rand() % 50;
	}

	Massiv(int razmer, int* massivchik) {
		n = razmer;
		arr = new int[n];
		for (int i = 0; i < n; i++)
			arr[i] = massivchik[i];
	}

	Massiv(const Massiv& m) {
		n = m.n;
		arr = new int[n];
		for (int i = 0; i < n; i++)
			arr[i] = m.arr[i];

	}

	~Massiv() {
		delete[] arr;
		cout << n;
	}

	void vivod() {
		for (int i = 0; i < n; i++)
			cout << arr[i] << " ";
		cout << endl;
	}

	void proverka(int m) {
		cout << m << ": ";
		int count=0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == m * m) {
				cout << " " << i+1 << "->" << arr[i] << " ";
				count++;
			}
		}
		if (count ==0) {
			cout << "takih net";
		}
		cout << endl;
	}
};

int main() {
	srand(time(0));


	Massiv a;
	cout << "a po umolchaniyu: ";
	a.vivod();


	int arrrray[] = {16,4, 15, 9,  25, 16, 7, 16};
	Massiv b(8, arrrray);
	cout << "b s parametrami: ";
	b.vivod();


	Massiv c {b};
	cout << "c kopiya b: ";
	c.vivod();

	cout << "v a kvadrati ";
	a.proverka(5);
	cout << "v b kvadrati ";
	b.proverka(4);
	cout << "v c kvadrati ";
	c.proverka(3);
	return 0;
}