Отсортировать двумерный массив по убыванию значений последнего столбца - C#
Формулировка задачи:
Нужно отсортировать двумерный массив сначала по убыванию значений последнего столбца а затем по убыванию значений последней строки. По столбцу все получилось, а вот по строке.. вроде бы все просто но уже 3-й день голову ламаю
int raw = 13, col = 11;
public double[][] mainmas, po;
mainmas = new double[raw][];
for (int i = 2; i < raw; i++)
{
mainmas[i] = new double[raw];
for (int j = 2; j < col; j++)
{
mainmas[i][j] = Convert.ToDouble(dataGridView1.Rows[i].Cells[j].Value);
}
}
for (int k = 0; k < raw - 1; k++)//сортировка по столбцу Хі
{
for (int i = 2; i < raw - 1 - k; i++)
{
if (mainmas[i][col - 1] < mainmas[i + 1][col - 1])
{
double[] p = mainmas[i + 1];
mainmas[i + 1] = mainmas[i];
mainmas[i] = p;
}
}
}
/* for (int k = 0; k < raw - 1; k++)//сортировка по строке Rj//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
{
for (int i = 2; i < raw - 1 - k; i++)
{
if (mainmas[12][i] < mainmas[12][i + 1])
{
for (int m = 2; m < raw-1; m++)
{
double p = mainmas[m][i];
mainmas[m][i+ 1] = mainmas[m][i];
mainmas[m][i] = p;
}
//double[][] po = new double[raw - 2][];
//po[i] = new double[raw - 2];
//po[i] = mainmas[i];
//po[i][k] = mainmas[i][k + 1];
//mainmas[i][k + 1] = mainmas[i][k];
//mainmas[i][k] = po[i][k];
}
}
}*/
for (int i = 2; i < raw; i++)//вывод отсортированного массива
{
for (int j = 2; j < col; j++)
{
dataGridView2.Rows[i].Cells[j].Value = Convert.ToString(mainmas[i][j]);
}
}Решение задачи: «Отсортировать двумерный массив по убыванию значений последнего столбца»
textual
Листинг программы
double[] mainmas = new double[5]; Array.Sort(mainmas);