Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <windows.h>
- using namespace std;
- class matr {
- int** base;
- int sizeX;
- public:
- matr(int n) {
- if (n > 20) {
- exit(1);
- }
- else {
- cout << "Введите матрицу:" << endl;
- sizeX = n;
- base = new int* [sizeX];
- for (int i = 0; i < sizeX; i++) {
- base[i] = new int[sizeX];
- }
- for (int i = 0; i < sizeX; i++)
- for (int j = 0; j < sizeX; j++)
- cin >> base[i][j];
- }
- };
- ~matr() {
- for (int i = 0; i < sizeX; i++) {
- delete[] base[i];
- }
- delete[] base;
- };
- int& GetElem(int i, int j)
- {
- return base[i][j];
- };
- int GetSizeX() {
- return sizeX;
- };
- void Print() {
- for (int i = 0; i < sizeX; i++) {
- for (int j = 0; j < sizeX; j++) {
- cout << base[i][j] << " ";
- }
- cout << endl;
- }
- };
- bool SearchIn() {
- bool res = false;
- int min = base[0][0];
- for (int i = 0; i < sizeX; i++)
- {
- for (int j = 0; j < sizeX; j++)
- {
- if (base[i][j] < min) {
- min = base[i][j];
- if ((i <= sizeX / 2) && (j >= sizeX / 2) && ((sizeX - j - 1) < i))
- res = true;
- else res = false;
- }
- }
- }
- return res;
- };
- double SearchArifm() {
- double summ = 0;
- int k = 0;
- for (int j = sizeX - 1; j >= sizeX / 2; j--) {
- for (int i = sizeX - 1 - j; i <= j; i++)
- {
- k++;
- summ += base[i][j];
- }
- }
- return summ / k;
- };
- void Printbackwards() {
- for (int j = sizeX - 1; j >= 0; j--)
- cout << base[0][j] << " ";
- cout << endl;
- };
- };
- int main() {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- int n;
- cout << "Введите размер матрицы:";
- cin >> n;
- matr b(n);
- cout << "ваша матрица:\n";
- b.Print();
- double ar = b.SearchArifm();
- cout << "среднее арифметическое заштр. части: "<< ar;
- cout << "\n";
- cout << " первая строка в обратном порядке: \n";
- b.Printbackwards();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement