Загрузка данных
using System;
using System.Windows.Forms;
namespace KAy
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// разрешаем только 0 и 1
dataGridView1.EditingControlShowing +=
dataGridView1_EditingControlShowing;
}
// СОЗДАТЬ
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 button4_Click_1(
object sender,
EventArgs e)
{
НайтиИзолированные();
}
// ВВОД ТОЛЬКО 0 И 1
private void dataGridView1_EditingControlShowing(
object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is TextBox tb)
{
tb.KeyPress -= OnlyZeroOne;
tb.KeyPress += OnlyZeroOne;
}
}
private void OnlyZeroOne(
object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Back)
return;
if (e.KeyChar != '0' &&
e.KeyChar != '1')
{
e.Handled = true;
}
}
// ПОИСК
private void НайтиИзолированные()
{
listBox1.Items.Clear();
int n = dataGridView1.RowCount;
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 == "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(
"Изолированная вершина — вершина без рёбер.");
}
}
}