Денис Зайцев
Денис Зайцев

Дан двумерный массив целых чисел. Упорядочить прямую диагональ в порядке убывания.

Упорядочить прямую диагональ в порядке убывания. Объясните что за прямая диагональ и намениктехотябы как эта задача решается в С++

ИП
Иван Прасолов

#include
#include
#include
using namespace std;
int main() {
const size_t size = 10;
unsigned a[size][size];
srand(unsigned(time(NULL)));
for (size_t r = 0; r < size; r++)
for (size_t c = 0; c < size; c++)
a[r][c] = rand() % 100;
streamsize w = 4;
for (size_t r = 0; r < size; r++, cout << endl << endl)
for (size_t c = 0; c < size; c++)
cout << setw(w) << a[r][c];
unsigned temp;
size_t m;
for (int n = 1; n < size; n++) {
m = n;
while (m > 0 && a[m - 1][m - 1] > a[m][m]) {
temp = a[m][m];
a[m][m] = a[m - 1][m - 1];
a[m - 1][m - 1] = temp;
m--;
}
}
cout << endl;
for (size_t r = 0; r < size; r++, cout << endl << endl)
for (size_t c = 0; c < size; c++)
cout << setw(w) << a[r][c];
cin.get();
return 0;
}

ИГ
Иван Головащенко

наверное имеется ввиду главная диагональ, эт вот эта

АШ
Алексей Шерстюк

Мне моя логика подсказывает, что надо просмотреть диагональ в цикле и найти максимум. ,
Затем переставить столбец с максимумом в первый столбец,
Остальные столбцы левее переставляемого увеличивают свой индекс на 1.
а затем строку с максимумом переставить в первую строку.
Остальные строки выше переставляемой увеличивают свой индекс на 1.

После чего просмотреть диагональ и повторить алгоритм начиная не с (0,0), а с (1,1)
столбец и строку поставить на следующее место (не трогая предыдущего максимума)

и так до (n-2,n-2)

Похожие вопросы
двумерный массив 10 на 10 целых чисел. (С++)
Как написать в с++ массивы. Задана 10 чисел. Как упорядочить их в возрастающем порядке?
Дан двумерный массив. Создать одномерный массив, содержащий элементы над побочной диагональю. Упорядочить по убыванию.
Дан двумерный массив. Найти положит. и отрицат. чисел и количество нулей
Дан массив А из N целых чисел. Сформировать новый массив B...
Дан массив целых чисел. Составить программу обработки двумерных массивов...Паскаль
1.Даны два целых числа A и N.вывести все целые степени числа А в порядке убывания.
Упорядочить массив из N элементов по убыванию. Упорядочить массив из N элементов по убыванию
Упорядочить массив из N элементов по убыванию VBA
найти сумму и произведение 30 целых чисел, двумерный массив (pascal)