Exemplo n.º 1
0
        static void TesteVerificarVerticeImpar(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Verificação de vértice ímpar: ***\n");

            Console.Write("\nInforme o vértice: ");
            int vertice = int.Parse(Console.ReadLine());

            bool impar = false;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                impar = grafoMA.Impar(vertice);
            }
            else
            {
                impar = grafoLA.Impar(vertice);
            }

            if (impar)
            {
                Console.WriteLine("\n\nO vértice informado é ímpar.");
            }
            else
            {
                Console.WriteLine("\n\nO vértice informado não é ímpar.");
            }
        }
Exemplo n.º 2
0
        static void TesteVerificarDoisVerticesAdjacentes(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Verificação de adjacência entre dois vértices: ***\n");

            Console.Write("\nInforme o primeiro vértice: ");
            int vertice1 = int.Parse(Console.ReadLine());

            Console.Write("\nInforme o segundo vértice: ");
            int vertice2 = int.Parse(Console.ReadLine());

            bool adjacentes = false;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                adjacentes = grafoMA.Adjacentes(vertice1, vertice2);
            }
            else
            {
                adjacentes = grafoLA.Adjacentes(vertice1, vertice2);
            }

            if (adjacentes)
            {
                Console.WriteLine("\n\nOs vértices informados são adjacentes.");
            }
            else
            {
                Console.WriteLine("\n\nOs vértices informados não são adjacentes.");
            }
        }
Exemplo n.º 3
0
        static void TesteImprimirSequenciaGraus(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Impressão da sequência de graus: ***\n");

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grafoMA.SequenciaGraus();
            }
            else
            {
                grafoLA.SequenciaGraus();
            }
        }
Exemplo n.º 4
0
        static void TesteImprimirLA(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Impressão da Lista de Adjacência: ***\n");

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grafoMA.ShowLA();
            }
            else
            {
                grafoLA.ShowLA();
            }
        }
Exemplo n.º 5
0
        static void TesteInclusaoAresta(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Inclusão de aresta: ***\n");

            Console.WriteLine("Informe os dois vértices (valores de 0 a " + qtdVertices + "): \n");
            Console.Write("\nVertice 1: ");
            int vertice1 = int.Parse(Console.ReadLine());

            Console.Write("\nVertice 2: ");
            int vertice2 = int.Parse(Console.ReadLine());

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                if (!grafoMA.Adjacentes(vertice1, vertice2))
                {
                    if (grafoMA.InserirAresta(vertice1, vertice2))
                    {
                        Console.WriteLine("\n\nAresta inserida com sucesso!");
                    }
                    else
                    {
                        Console.WriteLine("\n\nNão foi possível inserir a aresta entre os dois vértices informados.");
                    }
                }
                else
                {
                    Console.WriteLine("\n\nOs vértices informados já são adjacentes.");
                }
            }
            else
            {
                if (!grafoLA.Adjacentes(vertice1, vertice2))
                {
                    if (grafoLA.InserirAresta(vertice1, vertice2))
                    {
                        Console.WriteLine("\n\nAresta inserida com sucesso!");
                    }
                    else
                    {
                        Console.WriteLine("\n\nNão foi possível inserir a aresta entre os dois vértices informados.");
                    }
                }
                else
                {
                    Console.WriteLine("\n\nOs vértices informados já são adjacentes.");
                }
            }
        }
Exemplo n.º 6
0
        static void TesteVerificarVerticesAdjacentes(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Listagem de vértices adjacentes a outro: ***\n");

            Console.Write("\nInforme o vértice: ");
            int vertice = int.Parse(Console.ReadLine());

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grafoMA.VerticesAdjacentes(vertice);
            }
            else
            {
                grafoLA.VerticesAdjacentes(vertice);
            }
        }
Exemplo n.º 7
0
        static GrafoLA grafoLA = new GrafoLA();            // Instância do grafo usando lista de adjacência

        static void TesteOrdem(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Ordem do gráfo: ***\n");

            int ordem = 0;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                ordem = grafoMA.Ordem();
            }
            else
            {
                ordem = grafoLA.Ordem();
            }

            Console.WriteLine("Ordem do grafo: " + ordem);
        }
Exemplo n.º 8
0
        static void TesteGrauVertice(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Grau de um vértice: ***\n");

            Console.Write("\nInforme o vértice: ");
            int vertice = int.Parse(Console.ReadLine());

            int grau = 0;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grau = grafoMA.Grau(vertice);
            }
            else
            {
                grau = grafoLA.Grau(vertice);
            }

            Console.WriteLine("\n\n O grau do vértice informado é: " + grau);
        }
Exemplo n.º 9
0
        static void TesteRemocaoAresta(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Remoção de aresta: ***\n");

            Console.WriteLine("Informe os dois vértices (valores de 0 a " + qtdVertices + "): \n");
            Console.Write("\nVertice 1: ");
            int vertice1 = int.Parse(Console.ReadLine());

            Console.Write("\nVertice 2: ");
            int vertice2 = int.Parse(Console.ReadLine());

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                if (grafoMA.Adjacentes(vertice1, vertice2))
                {
                    grafoMA.RemoverAresta(vertice1, vertice2);
                    Console.WriteLine("\n\nAresta removida com sucesso!");
                }
                else
                {
                    Console.WriteLine("\n\nOs vértices informados não são adjacentes.");
                }
            }
            else
            {
                if (grafoLA.Adjacentes(vertice1, vertice2))
                {
                    grafoLA.RemoverAresta(vertice1, vertice2);
                    Console.WriteLine("\n\nAresta removida com sucesso!");
                }
                else
                {
                    Console.WriteLine("\n\nOs vértices informados não são adjacentes.");
                }
            }
        }
Exemplo n.º 10
0
        static void TesteVerificarRegular(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Grafo regular: ***\n");

            bool grafoRegular = false;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grafoRegular = grafoMA.Regular();
            }
            else
            {
                grafoRegular = grafoLA.Regular();
            }

            if (grafoRegular)
            {
                Console.WriteLine("O grafo é regular.");
            }
            else
            {
                Console.WriteLine("O grafo não é regular.");
            }
        }
Exemplo n.º 11
0
        static void TesteVerificarCompleto(TipoGrafo tipoGrafo)
        {
            Console.WriteLine("*** Grafo completo: ***\n");

            bool grafoCompleto = false;

            if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA)
            {
                grafoCompleto = grafoMA.Completo();
            }
            else
            {
                grafoCompleto = grafoLA.Completo();
            }

            if (grafoCompleto)
            {
                Console.WriteLine("O grafo é completo.");
            }
            else
            {
                Console.WriteLine("O grafo não é completo.");
            }
        }