Дана матрица, среди отрицательных элементов найти максимальный, а среди положительный минимальный и поменять их местами c++ код есть, но он работает частично
#include
#include
using namespace std;
int main() {
setlocale (LC_ALL, "Russian");
int max, min, imax, jmax, imin, jmin, n, m, i, j, swap;
cout << "Введите размер матрицы: ""\n";
cin >> n >> m;
int** a = new int* [n];
cout << "Заполните матрицу: ""\n";
for (int i=0; i >a[i][j];
}
}
max = 0;
min = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] > max) {
max = a[i][j];
imax = i;
jmax = j;
}
else {
if (a[i][j] < min) {
min = a[i][j];
imin = i;
jmin = j;
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if ((a[i][j] < max) && (a[i][j] > 0)) {
min = a[i][j];
imin = i;
jmin = j;
}
else {
if ((a[i][j] > min) && (a[i][j] < 0)) {
min = a[i][j];
imax= i;
jmax = j;
}
}
}
}
a[jmax][imax] = swap;
a[jmax][imax] = a[jmin][imin];
a[jmin][imin] = swap;
cout << a[i][j];
}
or (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] > max) {
max = a[i][j];
imax = i;
jmax = j;
}
else {
if (a[i][j] < min) {
min = a[i][j];
imin = i;
jmin = j;
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if ((a[i][j] < max) && (a[i][j] > 0)) {
min = a[i][j];
imin = i;
jmin = j;
}
else {
if ((a[i][j] > min) && (a[i][j] < 0)) {
min = a[i][j];
imax= i;
jmax = j;
}
}
}
}
a[jmax][imax] = swap;
a[jmax][imax] = a[jmin][imin];
a[jmin][imin