Beispiel #1
0
 public void УдалитьРебро(ебро ребро)
 {
     if (ебра.Where(f => f.Equals(ребро)).Any())
     {
         ебра.Remove(ребро);
     }
 }
Beispiel #2
0
        public void ДобавитьРебро(ебро ребро)
        {
            if (ебра.Where(f => f.ВекторКонец.НомерВершины == ребро.ВекторКонец.НомерВершины && f.ВекторНачало.НомерВершины == ребро.ВекторНачало.НомерВершины).Any())
            {
                if (MessageBox.Show($@"Ребро c вершинами '{ребро.ВекторНачало.НомерВершины} → {ребро.ВекторКонец.НомерВершины}' уже существует в графе.
Удалить его?",
                                    "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                {
                    return;
                }
                else
                {
                    УдалитьРебро(ебра.Where(f => f.ВекторКонец.НомерВершины == ребро.ВекторКонец.НомерВершины && f.ВекторНачало.НомерВершины == ребро.ВекторНачало.НомерВершины).Single());
                    return;
                }
            }
            if (ребро.ВекторНачало.НомерВершины == ребро.ВекторКонец.НомерВершины)
            {
                MessageBox.Show($"Начальная и конечная вершина добавляемого ребра, имеет один и тот же номер.",
                                "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            ебра.Add(ребро);
        }