Загрузка данных
using System;
using System.Windows.Forms;
namespace KAy
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.CellValueChanged +=
dataGridView1_CellValueChanged;
dataGridView1.CurrentCellDirtyStateChanged +=
dataGridView1_CurrentCellDirtyStateChanged;
}
// СОЗДАТЬ
private void button1_Click(
object sender,
EventArgs e)
{
int n = (int)numericUpDown1.Value;
dataGridView1.Columns.Clear();
dataGridView1.Rows.Clear();
dataGridView1.ColumnCount = n;
dataGridView1.RowCount = n;
for (int i = 0; i < n; i++)
{
dataGridView1.Columns[i].HeaderText =
(i + 1).ToString();
dataGridView1.Columns[i].Width = 40;
dataGridView1.Rows[i].HeaderCell.Value =
(i + 1).ToString();
for (int j = 0; j < n; j++)
{
dataGridView1[j, i].Value = 0;
}
}
listBox1.Items.Clear();
}
// ОЧИСТИТЬ
private void button2_Click(
object sender,
EventArgs e)
{
dataGridView1.Columns.Clear();
dataGridView1.Rows.Clear();
listBox1.Items.Clear();
}
// АВТО при вводе
private void dataGridView1_CurrentCellDirtyStateChanged(
object sender,
EventArgs e)
{
if (dataGridView1.IsCurrentCellDirty)
{
dataGridView1.CommitEdit(
DataGridViewDataErrorContexts.Commit);
}
}
// АВТО после изменения
private void dataGridView1_CellValueChanged(
object sender,
DataGridViewCellEventArgs e)
{
НайтиИзолированные();
}
// ОСНОВНАЯ ПРОВЕРКА
private void НайтиИзолированные()
{
listBox1.Items.Clear();
int n = dataGridView1.RowCount;
if (n == 0)
{
return;
}
int count = 0;
for (int i = 0; i < n; i++)
{
bool isolated = true;
for (int j = 0; j < n; j++)
{
string a =
dataGridView1[j, i].Value?.ToString() ?? "0";
string b =
dataGridView1[i, j].Value?.ToString() ?? "0";
if (a == "")
a = "0";
if (b == "")
b = "0";
if (a == "1" || b == "1")
{
isolated = false;
}
}
if (isolated)
{
listBox1.Items.Add(
"Изолированная вершина № " +
(i + 1));
count++;
}
}
listBox1.Items.Add("----------------");
listBox1.Items.Add(
"Количество: " + count);
}
private void Form1_Load(
object sender,
EventArgs e)
{
}
private void label2_Click(
object sender,
EventArgs e)
{
}
private void listBox1_SelectedIndexChanged(
object sender,
EventArgs e)
{
}
private void groupBox1_Enter(
object sender,
EventArgs e)
{
}
private void groupBox2_Enter(
object sender,
EventArgs e)
{
}
private void groupBox3_Enter(
object sender,
EventArgs e)
{
}
private void groupBox4_Enter(
object sender,
EventArgs e)
{
}
private void numericUpDown1_ValueChanged(
object sender,
EventArgs e)
{
}
private void pictureBox1_Click(
object sender,
EventArgs e)
{
}
private void menuStrip1_ItemClicked(
object sender,
ToolStripItemClickedEventArgs e)
{
}
private void справкаToolStripMenuItem_Click(
object sender,
EventArgs e)
{
MessageBox.Show(
"Создать → заполнить 0/1");
}
private void помощьToolStripMenuItem_Click(
object sender,
EventArgs e)
{
MessageBox.Show(
"Изолированная вершина — вершина без рёбер.");
}
}
}