Загрузка данных
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(
"Изолированная вершина — вершина без рёбер.");
}
}
}