/*Verifica o grau dos vértices*/ private int CalculaGrau(ref GrafoNaoDirigido grafo) { return(grafo.getGrau(this) + 1); }
static void Main(string[] args) { /* Nesse momento estou fazendo firulas de decoração */ cabecalho(); Console.WriteLine("Estamos lendo e carregando os arquivo, aguarde. . . "); Console.Write(""); carregaGrafo(); Console.WriteLine("Agora que lemos os arquivos, escolha qual ação deseja realizar"); Console.Write(""); Console.WriteLine("Digite: \n\t 1 para Grafos DIRIGIDOS \n\t 2 para Grafos NÃO DIRIGIDO"); int opcao = int.Parse(Console.ReadLine()); Console.Write(""); int cont = 0; while (opcao != 1 && opcao != 2) { Console.Write(""); Console.Clear(); Console.WriteLine("ESCOLHA NOVAMENTE ------ Essa é sua tentaiva " + cont++); Console.WriteLine("Digite: \n\t 1 para Grafos NÃO DIRIGIDOS \n\t 2 para Grafos DIRIGIDO"); opcao = int.Parse(Console.ReadLine()); } if (opcao == 1) { Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Dirigido - Grau de Entrada"); foreach (Vertice v in grafoD.ListaVertice) { Console.WriteLine(" " + grafoD.getGrauEntrada(v)); Console.Write(""); } Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Dirigido - Grau de Saída"); foreach (Vertice v in grafoD.ListaVertice) { Console.WriteLine(" " + grafoD.getGrauSaida(v)); Console.Write(""); } Console.ReadKey(); } else { Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isAdjacente"); foreach (Vertice v in grafoND.ListaVertice) { foreach (var v2 in grafoND.ListaVertice) { if (v != v2) { Console.WriteLine("isAdjacente({0}, {1}) " + grafoND.isAdjacente(v, v2), v.valor, v2.valor); } } } ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - getGrau"); foreach (Vertice v in grafoND.ListaVertice) { Console.WriteLine(" " + grafoND.getGrau(v)); } ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isIsolado"); foreach (Vertice v in grafoND.ListaVertice) { Console.WriteLine(" " + grafoND.isIsolado(v)); } ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isPendente"); foreach (Vertice v in grafoND.ListaVertice) { Console.WriteLine(" " + grafoND.isPendente(v)); } ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isRegular"); Console.WriteLine(" " + grafoND.isRegular()); ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isNulo"); Console.WriteLine(" " + grafoND.isNulo()); ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isComplete"); Console.WriteLine(" " + grafoND.isCompleto()); ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - isConexo"); Console.WriteLine(" " + grafoND.isConexo()); ProximoMetodo(); Console.Clear(); cabecalho(); Console.WriteLine("--- * --- * --- * --- * --- * --- * --- * --- * "); Console.WriteLine("Grafo Não Dirigido - GetComplementar"); GrafoNaoDirigido complementar = grafoND.getComplementar(); if (complementar.ListaAresta.Count > 0) { foreach (ArestaNaoDirigida item in complementar.ListaAresta) { Console.WriteLine(item.v1.valor + ", " + item.v2.valor + ", " + item.peso); } } else { Console.WriteLine("O grafo é completo, portanto não existe um grafo complementar"); } Console.WriteLine("Aperte qualquer tecla para finalizar."); Console.ReadKey(); } switch (opcao) { default: break; } }