//Programa principal de GrafoLA public static void GrafoLAProgram() { int opc, v, v2; GrafoLA grafo; Console.Clear(); Console.Write("Digite o número inical de vertices: "); v = int.Parse(Console.ReadLine()); grafo = new GrafoLA(v); do { Console.WriteLine("\n-------- GRAFOS ----------"); Console.WriteLine("1 - Inserir aresta"); Console.WriteLine("2 - Existe aresta ?"); Console.WriteLine("3 - Retira aresta"); Console.WriteLine("4 - Insere vertice ?"); Console.WriteLine("5 - Retira vertice"); Console.WriteLine("6 - ShowLA"); Console.WriteLine("7 - Imprimir Adjacentes"); Console.WriteLine("8 - Ordem"); Console.WriteLine("9 - grau"); Console.WriteLine("10 - ShowMA"); Console.WriteLine("11 - Grafo eh Completo ?"); Console.WriteLine("12 - Grafo eh Regular?"); Console.WriteLine("13 - Sequencia de Grau"); Console.WriteLine("14 - Impar"); Console.WriteLine("15 - Par"); Console.WriteLine("16 - Isolado"); Console.WriteLine("17 - Adjacentes"); Console.WriteLine("==> "); opc = int.Parse(Console.ReadLine()); switch (opc) { case 1: Console.Write("Digite as duas vertices para ligação: "); v = int.Parse(Console.ReadLine()); v2 = int.Parse(Console.ReadLine()); Console.Clear(); grafo.InsereAresta(v, v2); break; case 2: Console.Write("Digite as duas vertices: "); v = int.Parse(Console.ReadLine()); v2 = int.Parse(Console.ReadLine()); Console.Clear(); if (grafo.ExisteAresta(v, v2)) { Console.WriteLine("Existe a aresta"); } else { Console.WriteLine("Não existe a aresta"); } break; case 3: Console.Write("Digite os dois vertices: "); v = int.Parse(Console.ReadLine()); v2 = int.Parse(Console.ReadLine()); Console.Clear(); grafo.RetiraAresta(v, v2); break; case 4: Console.Write("Digite o vertices: "); v = int.Parse(Console.ReadLine()); Console.Clear(); grafo.IncereVertice(v); break; case 5: Console.Write("Digite o vertices: "); v = int.Parse(Console.ReadLine()); Console.Clear(); grafo.RetiraVertice(v); break; case 6: Console.Clear(); grafo.ImprimiLA(); break; case 7: Console.Write("Digite o vertices: "); v = int.Parse(Console.ReadLine()); Console.Clear(); grafo.ListaDeAdjacente(v); break; case 8: int a; a = grafo.Ordem(); Console.Clear(); Console.WriteLine("\nOrdem eh: " + a); break; case 9: int c; Console.Clear(); Console.Write("Digite o vertices: "); v = int.Parse(Console.ReadLine()); c = grafo.Grau(v); Console.Clear(); Console.WriteLine("\nO grau eh: " + c); break; case 10: Console.Clear(); grafo.ImprimiiMA(); break; case 11: Console.Clear(); if (grafo.Completo()) { Console.WriteLine("O grafo eh Completo"); } else { Console.WriteLine("O grafo nao eh Completo"); } break; case 12: Console.Clear(); if (grafo.Regular()) { Console.WriteLine("O grafo eh Regular"); } else { Console.WriteLine("O grafo nao eh Regular"); } break; case 13: Console.Clear(); grafo.SequenciaGraus(); break; case 14: Console.Clear(); Console.Write("Digite o vértice que deseja verificar: "); v = int.Parse(Console.ReadLine()); if (grafo.Impar(v)) { Console.Write("O vértice é ímpar"); } else { Console.Write("O vértice não é ímpar"); } break; case 15: Console.Clear(); Console.Write("Digite o vértice que será verificado: "); v = int.Parse(Console.ReadLine()); if (grafo.Par(v)) { Console.WriteLine("O vertice é par!"); } else { Console.WriteLine("O vertice não é par!"); } break; case 16: Console.Clear(); Console.Write("Qual vertice será verificado? "); v = int.Parse(Console.ReadLine()); if (grafo.Isolado(v)) { Console.WriteLine("O vertice é Isolado!"); } else { Console.WriteLine("O vértice não é isolado"); } break; case 17: Console.Clear(); Console.Write("Digite o 1º vértice: "); v = int.Parse(Console.ReadLine()); Console.Write("Digite o 2º vértice: "); v2 = int.Parse(Console.ReadLine()); if (grafo.Adjacentes(v, v2)) { Console.Write("Os vértices são adjacentes"); } else { Console.Write("Os vértices não são adjacentes"); } break; } } while (opc != 10); }