@Humon91072
neznayka17

Как отсортировать элементы матрицы в dataGridView по возрастанию?

Доброго времени суток!
Необходимо:
Заполните массив а[n][n] случайными числами в интервале [-50; 50]. Значения N вводится через компоненту TextBox Вывести элементы главной диагонали массива (dataGrigView) в упорядоченном виде по возрастанию.
Застрял на упорядочивании элементов:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

    //показать dataGridView
    label6->Visible = true;
    dataGridView1->Visible = true;
    label5->Visible = true;
    dataGridView2->Visible = true;

    int n = Convert::ToInt32(textBox1->Text);

    dataGridView1->RowCount = n;
    dataGridView1->ColumnCount = n;
    dataGridView2->RowCount = 1;
    dataGridView2->ColumnCount = n;

    //создаю массив
    int** arr = new int* [n];
    for (int i = 0; i < n; i++)
      arr[i] = new int[n];

    //заполняю массив данными
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
        arr[i][j] = rand() % 100 - 50;
        dataGridView1->Columns[j] -> HeaderText = "Столбец №" + (j + 1).ToString();
        dataGridView1->Rows[i]->Cells[j]->Value = arr[i][j].ToString();
      }
    }

  
    //вывожу главную диагональ массива
    for (int i = 0; i < n; i++)
    {
      for (int j = 0; j < n; j++)
      {
        if (i == j) {
          dataGridView2->Columns[j]->HeaderText = "Элемент №" + (j + 1).ToString();
          dataGridView2->Rows[0]->Cells[j]->Value = arr[i][j].ToString();
        }
          
      }
    }


    //удаляю массив
    for (int i = 0; i < n; i++)
      delete[] arr[i];
  }
};

Результат:
60cf27784b586381728568.jpeg
Главную диагональ вывожу, но упорядочить не могу. Весь день убил...
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
Главную диагональ записать в массив. Массив отсортировать и вывести на экран в dataGridView.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы