Доброго времени суток!
Необходимо:
Заполните массив а[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];
}
};
Результат:
Главную диагональ вывожу, но упорядочить не могу. Весь день убил...