DataGridView1 и два NumbericUpDown с соответствующими названиями добавь и вот код на форме: <begin code> using System; using System.Windows.Forms;
namespace SWF { public partial class Form1 : Form { public Form1() { InitializeComponent(); numericUpDown2_ValueChanged(null, null); } private void numericUpDown2_ValueChanged(object sender, EventArgs e) { dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); Int32 M, N; M = (int)numericUpDown1.Value; N = (int)numericUpDown2.Value; Single[,] arr = new Single[M, N]; Random rnd = new Random(); for (int i = 0; i < M; i++) for (int j = 0; j < N; j++) arr[i, j] = rnd.Next(-20, 20); for (int i = 0; i < M; i++) { dataGridView1.Columns.Add("", ""); for (int j = 0; j < N; j++) { if ((i == 0) && (j == 0)) dataGridView1.Rows.Add(N); dataGridView1[i, j].Value = arr[i, j]; } } } } } <end code>
Разумеется, там много мелочей: на NUD1 и NUD2 добавить событие, установить минимальные значения... Лучше посмотрите решение в документе ниже: там архив с папкой проекта)
<begin code>
using System;
using System.Windows.Forms;
namespace SWF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
numericUpDown2_ValueChanged(null, null);
}
private void numericUpDown2_ValueChanged(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
Int32 M, N;
M = (int)numericUpDown1.Value;
N = (int)numericUpDown2.Value;
Single[,] arr = new Single[M, N];
Random rnd = new Random();
for (int i = 0; i < M; i++)
for (int j = 0; j < N; j++)
arr[i, j] = rnd.Next(-20, 20);
for (int i = 0; i < M; i++)
{
dataGridView1.Columns.Add("", "");
for (int j = 0; j < N; j++)
{
if ((i == 0) && (j == 0)) dataGridView1.Rows.Add(N);
dataGridView1[i, j].Value = arr[i, j];
}
}
}
}
}
<end code>
Разумеется, там много мелочей: на NUD1 и NUD2 добавить событие, установить минимальные значения... Лучше посмотрите решение в документе ниже: там архив с папкой проекта)