예제 #1
0
            public static void GrafoMAs()
            {
                int x, v1, v2, v;

                Console.WriteLine("\nDigite a quantidade de vertice");
                v = int.Parse(Console.ReadLine());

                //cria o grafo atraves de uma matriz
                //onde a quantidade de vertice acima pedido
                //determina o tamanho da martriz
                GrafoMA grafo = new GrafoMA(v);

                grafo.showMA();

                Console.ReadKey(true);
                Console.Clear();
                do
                {
                    //menu de opcoes
                    Console.WriteLine("\n-------- GRAFOS ----------");
                    Console.WriteLine("1 - Ordem");
                    Console.WriteLine("2 - Inserir Aresta");
                    Console.WriteLine("3 - Remover aresta");
                    Console.WriteLine("4 - Grau do grafo");
                    Console.WriteLine("5 - Grafo eh completo ?");
                    Console.WriteLine("6 - Imprimir grafo");
                    Console.WriteLine("7 - Grafo eh Regular ?");
                    Console.WriteLine("8 - Show MA");
                    Console.WriteLine("9 - Show LA");
                    Console.WriteLine("10 - Sequncia Grau");
                    Console.WriteLine("11 - Lista de adjacencia");
                    Console.WriteLine("12 - vertice isolado");
                    Console.WriteLine("13 - Vertice eh Impar ?");
                    Console.WriteLine("14 - Vertice eh Par ?");
                    Console.WriteLine("15 - Adjacentes");
                    Console.WriteLine("16 - Classe GrafosLA");
                    Console.WriteLine("0 - SAIR ");

                    Console.WriteLine("==> ");
                    x = int.Parse(Console.ReadLine());

                    switch (x)
                    {
                    case 0:
                        Environment.Exit(x);
                        break;

                    case 1:

                        int a;
                        a = grafo.Ordem();
                        Console.Clear();
                        Console.WriteLine("\nOrdem eh: " + a);

                        break;

                    case 2:

                        Console.Write("Digite os dois vertices para ligação: ");
                        v1 = int.Parse(Console.ReadLine());
                        v2 = int.Parse(Console.ReadLine());
                        grafo.InserirAresta(v1, v2);
                        Console.Clear();

                        break;

                    case 3:

                        Console.Write("Digite os dois vertices: ");
                        v1 = int.Parse(Console.ReadLine());
                        v2 = int.Parse(Console.ReadLine());
                        grafo.RemoverAresta(v1, v2);
                        Console.Clear();

                        break;

                    case 4:

                        int c;
                        Console.Write("Digite o vertices: ");
                        v = int.Parse(Console.ReadLine());
                        c = grafo.Grau(v);
                        Console.Clear();
                        Console.WriteLine("\nO grau eh: " + c);

                        break;

                    case 5:

                        Console.Clear();
                        if (grafo.Completo())
                        {
                            Console.WriteLine("\n Grafo eh Completo");
                        }
                        else
                        {
                            Console.WriteLine("\n Grafo nao eh Completo");
                        }

                        break;

                    case 6:
                        Console.Clear();
                        grafo.showMA();
                        break;

                    case 7:
                        Console.Clear();
                        if (grafo.Regular())
                        {
                            Console.WriteLine("\n Grafo eh Regular");
                        }
                        else
                        {
                            Console.WriteLine("\n Grafo nao eh Regular");
                        }

                        break;

                    case 8:

                        Console.Clear();
                        grafo.showMA();

                        break;

                    case 9:

                        Console.Clear();
                        grafo.ShowLA();

                        break;

                    case 10:

                        Console.Clear();
                        grafo.SequenciaGraus();
                        break;

                    case 11:

                        Console.Clear();
                        Console.WriteLine("\nDigite o vertice a saber os adjacentes");
                        v = int.Parse(Console.ReadLine());
                        grafo.VerticesAdjacentes(v);

                        break;

                    case 12:

                        Console.Clear();
                        Console.WriteLine("\nDigite o vertice a saber se e isolado");
                        v = int.Parse(Console.ReadLine());

                        if (grafo.Isolado(v))
                        {
                            Console.WriteLine("O vertice eh isolado");
                        }
                        else
                        {
                            Console.WriteLine("O vertice nao eh isolado");
                        }

                        break;

                    case 13:

                        Console.Clear();
                        Console.WriteLine("\nDigite o vertice a saber se eh impar");
                        v = int.Parse(Console.ReadLine());
                        if (grafo.Impar(v) == true)
                        {
                            Console.WriteLine("Vertice eh Impar");
                        }
                        else
                        {
                            Console.WriteLine("Vertice nao eh impar");
                        }
                        break;

                    case 14:

                        Console.Clear();
                        Console.WriteLine("\nDigite o vertice a saber se eh par");
                        v = int.Parse(Console.ReadLine());
                        if (grafo.Par(v))
                        {
                            Console.WriteLine("Vertice eh Par");
                        }
                        else
                        {
                            Console.WriteLine("Vertice nao eh Par");
                        }

                        break;

                    case 15:

                        Console.Clear();

                        Console.Write("Digite os dois vertices p/ verificar adjacentes: ");
                        v1 = int.Parse(Console.ReadLine());
                        v2 = int.Parse(Console.ReadLine());

                        if (grafo.Adjacentes(v1, v2))
                        {
                            Console.WriteLine("sao Adjacentes");
                        }
                        else
                        {
                            Console.WriteLine("Nao sao Adjacentes");
                        }

                        break;

                    case 16:

                        Console.Clear();
                        GrafoLA.GrafoLAProgram();



                        break;
                    }
                } while (x != 99);


                Console.ReadKey(true);
            }