Переместить Самый Максимальный Элемент Массива В Левый Верхний Угол

Eric1121

New member
24.12.2014
1
0
#1
Облазил кучу тем, но везде идет перестановка столбцов и строк, но это не то. Пожалуйста помогите, как сделать чтобы самый максимальный элемент массива оказался в левом верхнем углу, а тот элемент который стоял до перестановки в левом верхнем углу не исчезал, не смещал все остальные элементы а встал на то место, где был тот самый максимальный элемент. Спасибо!
 
W

Whatka

#2
C++:
#include	<iostream>
#include	<algorithm>
using namespace std;

void show(int** A, int N, int M)
{
for (int i = 0; i < N; i++)
{
cout << "\n";
for (int j = 0; j < M; j++)
cout << A[i][j] << "\t";
}
cout << "\n";
}

void main()
{
int** A, N, M;

cin >> N >> M;

A = new int*[N];
for (int i = 0; i < N; i++)
{
A[i] = new int[M];
for (int j = 0; j < M; j++)
A[i][j] = rand() % 100;
}
Show(A, N, M);

int max_i(0), max_j(0);
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
if (A[max_i][max_j] < A[i][j])
{
max_i = i;
max_j = j;
}
}
}
swap(A[0][0], A[max_i][max_j]);
show(A, N, M);
}