Загрузка данных


using System;
using System.Drawing;
using System.Windows.Forms;

namespace KAy
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // создание таблицы
        private void button1_Click(object sender, EventArgs e)
        {
            int n = (int)numericUpDown1.Value;

            dataGridView1.ColumnCount = n;
            dataGridView1.RowCount = n;

            for (int i = 0; i < n; i++)
            {
                dataGridView1.Columns[i].Width = 40;
                dataGridView1.Columns[i].HeaderText = (i + 1).ToString();
                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.Rows.Clear();
            dataGridView1.Columns.Clear();
            listBox1.Items.Clear();
        }

        // при изменении матрицы ищем изолированные вершины
        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            НайтиИзолированные();
        }

        private void НайтиИзолированные()
        {
            int n = dataGridView1.RowCount;
            listBox1.Items.Clear();

            int count = 0;

            for (int i = 0; i < n; i++)
            {
                bool isolated = true;

                for (int j = 0; j < n; j++)
                {
                    int rowValue = Convert.ToInt32(dataGridView1[j, i].Value);
                    int colValue = Convert.ToInt32(dataGridView1[i, j].Value);

                    if (rowValue != 0 || colValue != 0)
                    {
                        isolated = false;
                        break;
                    }
                }

                if (isolated)
                {
                    listBox1.Items.Add("Изолированная вершина № " + (i + 1));
                    count++;
                }
            }

            listBox1.Items.Add("--------------");
            listBox1.Items.Add("Количество: " + count);
        }

        // справка
        private void справкаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show(
                "Введите количество вершин.\n" +
                "Нажмите 'Создать'.\n" +
                "Заполните матрицу смежности 0 и 1.\n" +
                "Изолированные вершины появятся справа.",
                "Справка"
            );
        }

        // помощь
        private void помощьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show(
                "Изолированная вершина — вершина без рёбер.",
                "Помощь"
            );
        }
    }
}