Отсортировать двумерный массив по убыванию значений последнего столбца - 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);

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы