Файл Размерность матрицы
namespace WindowsFormsApplication3
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent(); //инициализация формы
}
private void button1_Click(object sender, EventArgs e) //событие при нажатии кнопки «Задать размерность»
{
Hide(); //скрыть форму
}
private void Form5_Activated(object sender, EventArgs e)
{
Form3.nud = Convert.ToInt32(numericUpDown1.Value); //кладём в переменную nud формы 3 размерность матрицы
}
private void Form5_Deactivate(object sender, EventArgs e)
{
Form3.nud = Convert.ToInt32(numericUpDown1.Value); //кладём в переменную nud формы 3 размерность матрицы
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
Form3.nud = Convert.ToInt32(numericUpDown1.Value);// //кладём в переменную nud формы 3 размерность матрицы
}
}
}
Файл Начальные условия
namespace WindowsFormsApplication3
{
public partial class Form6 : Form
{
public Form6()
{
InitializeComponent(); //инициализация формы
}
private void Form6_Activated(object sender, EventArgs e) //событие при активации формы
{
dataGridView1.ColumnCount = dataGridView1.RowCount = Form3.nud; //задание размерности массива
dataGridView1.Visible = true; //изменение свойства(видимость) массива
}
private void button2_Click(object sender, EventArgs e) //событие при нажатии кнопки «Выделить цветами»
{
int i = 0, j = 0, polovina, svojstvo; //объявление переменных
polovina = dataGridView1.RowCount / 2; //нахождение середины массива
if (Convert.ToBoolean(dataGridView1.RowCount % 2)) //объявления свойства
{
svojstvo = 1;
}
else
{
svojstvo = 0;
}
if (svojstvo == 1) //выделение неиспользуемых столбца и строки или средней границы
{
for (i = 0; i < dataGridView1.RowCount; i++)
dataGridView1.Rows[i].Cells[polovina].Style.BackColor = Color.Red;
for (j = 0; j < dataGridView1.RowCount; j++)
dataGridView1.Rows[polovina].Cells[j].Style.BackColor = Color.Red;
}
else
{
dataGridView1.Columns[polovina-1].DividerWidth = 5;
dataGridView1.Rows[polovina-1].DividerHeight = 5;
}
Class.kraska(svojstvo,polovina); //передача в статический класс значений свойства и середины массива
Class.SuperMas(Convert.ToInt32(dataGridView1.RowCount)); //передача размерности массива в статический класс
obrabotka predstavitel = new obrabotka(); //объявления представителя класса obrabotka
for (i = 0; i < dataGridView1.RowCount; i++) //передача значений массива в класс
{
for (j = 0; j < dataGridView1.RowCount; j++)
predstavitel[i,j] = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value);
}
predstavitel.matrica(); //вызов функции класса
for (i = 0; i < dataGridView1.RowCount; i++) //проверка на полное заполнение массива
{
for (j = 0; j < dataGridView1.RowCount; j++)
if (dataGridView1.Rows[i].Cells[j].Value == null)
{
Form3.flag = 0;
break;
}
else
{
Form3.flag = 1;
}
if (j != dataGridView1.RowCount)
break;
}
}
private void button3_Click(object sender, EventArgs e) //событие при нажатии кнопки «Сгенерировать случайно»
{
int i = 0, j = 0; //объявление переменных, присваивание им значений.
Random rnd = new Random(); //объявление нового представителя класса Random
for (i = 0; i < dataGridView1.RowCount; i++) //заполнение массива случайными значениями в диапазоне от -99 до 99
for (j = 0; j < dataGridView1.RowCount; j++)
{
dataGridView1.Rows[i].Cells[j].Value = rnd.Next(-99, 99);
}
}
}
}
