Отсортировать двумерный массив по убыванию значений последнего столбца - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д