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


using System;
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;

            if (n <= 0)
            {
                MessageBox.Show(
                    "Введите количество вершин.",
                    "Ошибка");

                return;
            }

            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;
                }
            }

            if (listBox1 != null)
                listBox1.Items.Clear();
        }

        // ОЧИСТИТЬ
        private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.Columns.Clear();
            dataGridView1.Rows.Clear();

            if (listBox1 != null)
                listBox1.Items.Clear();
        }

        // РЕЗУЛЬТАТ
        private void button4_Click_1(
            object sender,
            EventArgs e)
        {
            НайтиИзолированные();
        }

        // ОСНОВНАЯ ПРОВЕРКА
        private void НайтиИзолированные()
        {
            if (listBox1 == null)
                return;

            listBox1.Items.Clear();

            int n = dataGridView1.RowCount;

            if (n == 0)
            {
                listBox1.Items.Add(
                    "Ошибка: сначала создайте таблицу.");
                return;
            }

            int count = 0;

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

                for (int j = 0; j < n; j++)
                {
                    string text =
                        dataGridView1[j, i].Value?.ToString() ?? "0";

                    if (text == "")
                        text = "0";

                    if (text != "0" && text != "1")
                    {
                        listBox1.Items.Add(
                            "Ошибка в ячейке [" +
                            (i + 1) + ";" +
                            (j + 1) +
                            "] — вводите только 0 или 1");

                        return;
                    }

                    int a = Convert.ToInt32(text);

                    string text2 =
                        dataGridView1[i, j].Value?.ToString() ?? "0";

                    if (text2 == "")
                        text2 = "0";

                    int b = Convert.ToInt32(text2);

                    if (a != 0 || b != 0)
                    {
                        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 dataGridView1_CellContentClick(
            object sender,
            DataGridViewCellEventArgs 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(
                "1. Введите количество вершин\n" +
                "2. Нажмите Создать\n" +
                "3. Заполните матрицу 0 и 1\n" +
                "4. Нажмите Результат");
        }

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