• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

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

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);
}