постоянно 0 показывает
#include <windows.h>
#include <iostream>
using namespace std;
class matr {
int x_size, y_size;
double** base;
static int s_idGenerator;
int m_id;
public:
matr() { m_id = s_idGenerator++; }
int getID() const { return m_id; }
static int minimal; //иниц стат перем
static int maximal;
matr(int n, int m) {
x_size = n;
y_size = m;
base = new double* [y_size];
for (int i = 0; i < y_size; i++) {
base[i] = new double[x_size];
}
}
static int& count() { return minimal; } //вроде возвращение содержания в поле
static int& cunt() { return maximal; }
~matr() {
for (int i = 0; i < y_size; i++) {
delete[]base[i];
}
delete[]base;
x_size = 0;
y_size = 0;
}
void input();
void output();
int maxx(); // объяв мет
int minn();
};
int matr::s_idGenerator = 1;
int matr::minimal; //опр стат перем
int matr::maximal;
void matr::input()
{
cout << "Ввод матрицы:" << endl;
for (int i = 0; i < y_size; i++) {
for (int j = 0; j < x_size; j++) {
cout << " элемен " << "[" << i << "] " << "[" << j << "]" << "=";
cin >> base[i][j];
}
}
}
void matr::output()
{
cout << "Вывод матрицы" << endl;
for (int i = 0; i < y_size; i++) {
for (int j = 0; j < x_size; j++) {
cout << base[i][j] << " ";
}
cout << endl;
}
}
int matr::maxx()
{
int maxim = base[0][0];
for (int i = 0; i < y_size; i++) {
for (int j = 0; j < x_size; j++) {
if (maxim < base[i][j]) {
maxim = base[i][j];
}
}
}
cout << "Максимальный элемент матрицы равен:\n maxim=" << maxim << endl;
return maxim;
}
int matr::minn()
{
int min = base[0][0];
for (int i = 0; i < y_size; i++) {
for (int j = 0; j < x_size; j++) {
if (base[i][j] < min) {
min = base[i][j];
}
}
}
cout << "Минимальный элемент матрицы равен:\n min=" << min << endl;
return min;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n, m;
int x;
int z, i;
cout << "Введите кол-во столбцов матрицы:\n m= ";
cin >> n;
cout << "Введите кол-во строк матрицы:\n m= ";
cin >> m;
matr a(n, m);
a.input();
a.output();
matr::minimal = a.maxx();
matr::maximal = a.minn();
for (i = 0; i < 10; i++) {
cout << "Хочешь новую матрицу?\n";
cout << "Если да, то жми 0!" << endl;
cin >> z;
if (z == 0) {
//создаем матрицу
cout << "Введите кол-во столбцов матрицы:\n m= ";
cin >> n;
cout << "Введите кол-во строк матрицы:\n m= ";
cin >> m;
matr b(n, m);
cout << "кол-во массивов:\n";
cout << b.getID() << '\n';
b.input();
b.output();
if (b.maxx() < matr::minimal)
{
matr::minimal = b.maxx();
}
if (matr::maximal < b.minn())
{
matr::maximal = b.minn();
}
}
else {
break;
}
}
cout << "\nМинимальный элемент среди максимальных: " << matr::minimal << endl;
cout << "\nМаксимальный элемент среди минимальных: " << matr::maximal << endl;
system("pause");
//cout << b.getID() << '\n';
//system("pause");
return 0;
}