Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ООП_4.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
- //
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <math.h>
- using namespace std;
- class MatrixQuatro;
- class MatrixVector
- {
- private:
- int n;
- int* matr;
- public:
- MatrixVector(int _n, int* _matr)
- {
- n = _n;
- matr = _matr;
- }
- void show()
- {
- cout << "MatrixVector: " << endl;
- for (int i = 0; i < n; i++)
- {
- cout << matr[i] << " ";
- cout << endl;
- }
- }
- friend void minEquals(MatrixVector* obj1, MatrixQuatro* obj2);
- };
- class MatrixQuatro
- {
- private:
- int n;
- int m;
- int** matr;
- public:
- MatrixQuatro(int _n, int _m, int** _matr)
- {
- n = _n;
- m = _m;
- matr = _matr;
- }
- void show()
- {
- cout << "MatrixQuatro: " << endl;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cout << matr[i][j] << " ";
- }
- cout << endl;
- }
- }
- friend void minEquals(MatrixVector* obj1, MatrixQuatro* obj2);
- };
- void minEquals(MatrixVector* obj1, MatrixQuatro* obj2)
- {
- cout << "Минимальные и равные узлы матриц MatrixVector и MatrixQuatro: " << endl;
- int minNumV; minNumV = obj1->matr[0];
- int minNumQ; minNumQ = obj2->matr[0][0];
- for (int i = 0; i < obj1->n; i++)
- {
- if (minNumV > obj1->matr[i]) {minNumV = obj1->matr[i]; }
- }
- cout << endl;
- for (int i = 0; i < obj2->n; i++)
- {
- for (int j = 0; j < obj2->m; j++)
- {
- if (minNumQ > obj2->matr[i][j]) { minNumQ = obj2->matr[i][j]; }
- }
- }
- cout << endl;
- if (minNumV == minNumQ){ cout << "Равны два минимума: "<< minNumQ<< " = " << minNumV << endl; }
- else { cout << "Минимальных и равных узлов нет " << endl; }
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int n;
- int m;
- cout << "Введите количество строк матрицы Вектор" << endl;
- cin >> n;
- cout << "Введите количество столбцов матрицы Квадрат" << endl;
- cin >> m;
- int* matrVector = new int [n];
- int** matrQuadro = new int* [n];
- cout << "Введите матрицу целых чисел для матр. Вектор:" << endl;
- for (int i = 0; i < n; i++)
- {
- cin >> matrVector[i];
- }
- cout << "Введите матрицу целых чисел для матр. Квадрат:" << endl;
- for (int i = 0; i < n; i++)
- {
- matrQuadro[i] = new int[m];
- for (int j = 0; j < m; j++)
- {
- cin >> matrQuadro[i][j];
- }
- }
- MatrixVector* obj1 = new MatrixVector(n, matrVector);
- MatrixQuatro* obj2 = new MatrixQuatro(n, m, matrQuadro);
- obj1->show();
- obj2->show();
- minEquals(obj1, obj2);
- for (int i = 0; i < n; i++)
- {
- delete[] matrQuadro[i];
- }
- delete[] matrVector;
- delete obj1;
- delete obj2;
- return 0;
- }
- // Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
- // Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
- // Советы по началу работы
- // 1. В окне обозревателя решений можно добавлять файлы и управлять ими.
- // 2. В окне Team Explorer можно подключиться к системе управления версиями.
- // 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
- // 4. В окне "Список ошибок" можно просматривать ошибки.
- // 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
- // 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
Add Comment
Please, Sign In to add comment