Exemplo n.º 1
0
 /*Verifica o grau dos vértices*/
 private int CalculaGrau(ref GrafoNaoDirigido grafo)
 {
     return(grafo.getGrau(this) + 1);
 }
Exemplo n.º 2
0
        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;
            }
        }