Как отсортировать двумерный массив по количеству отрицательных элементов
Получил следующее задание: отсортировать строки двумерного массива по количеству отрицательных элементов.
Суть в том , что могу найти и количество элементов и номер строки в котором они расположены , но не могу это связать с сортировкой самого массива(его строк)
int matrix[A][A]; //какая-то матрица
int array[A][2];
count=0;
c=0;
for ( i = 0; i < A; i++)
{
for ( j = 0; j < A; j++)
{
//находим отрицательные элементы
if (matrix[i][j]<0)
{
count++;
}
}
//записываем в первое значение номер строки
array[c][0]=i;
//во второе значение записываем количество отрицательных элементов
array[c][1]=count;
c++;
count=0;
}
записал значения в другой двумерный массив [A][2](#define A 6)
проблема состоит в том , что не могу придумать логически как отсортировать один массив по значениям.
По возможности подскажите способ проще.
Ответы (1 шт):
Разбейте задачу на этапы.
На первом этапе, запишите в промежуточный одномерный массив количества отрицательных элементов в строках.
На втором этапе, сортируйте этот массив, одновременно переставляя строки в выходной матрице.
Поздравляю, вы великолепны!