БлогNot. C++/CLI: одномерный и двумерный массивы array

C++/CLI: одномерный и двумерный массивы array

Почему-то не оказалось такого простого примера. Между тем, описание вектора и матрицы в управляемом коде бывает проблемой после "обычного" классического C/C++. В коде ниже описана и заполнена вещественная матрица A и вещественный вектор x. Выполнить код можно из приложения Windows Forms, например, по событию загрузки формы (Load). Многострочное текстовое поле для вывода данных размером во всю клиентскую часть окна формы код создаст себе сам.

Размеры вектора и матрицы задаются переменными, то есть, могут быть динамическими.

//Создадим TextBox на всё окно формы
TextBox ^T = gcnew TextBox();
T->Multiline = true;
T->Dock = System::Windows::Forms::DockStyle::Fill;
T->Text = "";
T->Parent = this;
this->Controls->Add(T);

//Сделаем динамический вектор и выведем в столбец
int size = 3;
array<double> ^ x=gcnew array<double>(size);
for (int i=0; i<size; i++) {
 x[i]=i+1;
 T->AppendText (x[i].ToString()+System::Environment::NewLine);
}

//Сделаем динамическую матрицу и выведем её ниже
int height=3, width=3;
array<double,2> ^ A=gcnew array<double,2>(height,width);
for (int i=0; i<height; i++) {
 T->AppendText (System::Environment::NewLine);
 for (int j=0; j<width; j++) { 
  A[i,j]=i+j;
  T->AppendText (String::Format ("{0,-3}",A[i,j].ToString()+" "));
 }
}

17.09.2016, 01:37 [9814 просмотров]


теги: программирование c++/cli

К этой статье пока нет комментариев, Ваш будет первым