domingo, 15 de dezembro de 2019

I.D.E. - Significado....

I.D.E significa Integrated Development Environment... Esse termo em portugues eh A.I.D que significa Ambiente Integrado De Desenvolvimento

sábado, 23 de novembro de 2019

Ciencia Da Computacao - EM CONSTRUCAO...

Hardware
...
... Os Sistemas Computacionais todos so armazenam informacoes e so processam essas informacoes... Os Sistemas Computacionais processam milhares de informacao ah o mesmo tempo... Os Processadores sao construcoes logicas...
...
Informacoes
- Digital - Binario - Hexa-Decimal
I - Sistemas Digitais - Sistemas que utilizam digitos como informacoes
II - Binario - O termo Binario eh utilizado para definir se carga eletrica ocorre em algum componente Computacional no momento ou ela nao ocorre...
III - Hexa-Decimal - As informacoes dos Sistemas Computacionais sao construidas atraves de digitos Hexa-Decimais...
...
Eletricidade
- Tensao - Corrente - Frequencia
I - A Eletricidade se desloca quase na velocidade da luz
II - Tensao - As Tensoes sao constantes em cada componente Computacional e eh a velocidade da carga eletrica...
III - Corrente - A Corrente eh a largura de banda de algum componente Computacional... A Corrente eh constante e variavel e sua variacao depende da demanda...
IV - Frequencia - A Frequencia eh os Dados em si em alguma Memoria Volatil ou em deslocamento nos barramentos... A Frequencia eh as informacoes em si... A Frequencia e um conjunto de alteracoes na natureza da carga eletrica e cada alteracao dessa eh um valor digital que varia de zero ah quinze, porque eh Hexa-Decimal... A quantidade de dados na frequancia varia conforme a demanda e a Corrente eh quem determina seu valor maximo... Eh como um rio onde a velocidade desse rio eh a Tensao constante, a largura desse rio eh a Corrente variavel e os inumeros baldes de tinta de cores diferentes jogados nesse rio que preenchem esse rio sao os Dados da Frequencia que eh variavel... Os Dados construidos atraves da Frequencia trafegam independetes em qualquer direcao da Corrente Eletrica ah o mesmo tempo assim como as ondas fazem isso entre si e os raios luz fazem isso entre si... As frequancias nao colidem entre si assim como as ondas nao colidem entre si e os raios de luz nao colidem entre si... 1 GHz significa um bilhao de instrucoes por segundo de trafego no barramento em cada direcao... Os Processadores possuem milhares de barramentos interligando seus componentes dentro de si...
...
Memorias
- Memoria Persistente - Memoria Volatil - Memoria Cache
Discos Rigidos e nem outra Memoria Persistente qualquer processa informacao, mas o Processador da Placa Mae dos Discos Rigidos processa informacoes... Os Discos Rigidos sao Memorias Persistentes que guardam informacoes que sao levadas ah o Processador para elas serem usadas pelo Processador... Os Discos Rigidos sao muito grande e procurar informacoes nessa Memoria eh impraticavel... A Memoria Volatil armazena um mapa do Disco Rigido... Quanto mais Memoria Volatil mais esse mapa eh refinado, portanto mais preciso esse mapa eh... Exemplo... Imagine uma Memoria Volatil de 1 GB e uma Memoria Persistente de 10 GBs... Se 1 GB de Memoria Volatil pode ser divida em dez parte, entao ela pode possuir um mapa com dez regioes... Cada regiao dessas sabe o que cada GigaByte dessa Memoria Persistente possui... Portanto o Processador pede ah Memoria Volatil uma informacao que se encontra na Memoria Persistente... A Memoria Volatil sabe em qual regiao da Memoria Persistente essa informacao se encontra... Entao a Memoria Persistente nao precisa procurar essa informacao na Memoria Persistente inteira... Se a Memoria Persistente conter cem arquivos por GigaByte, entao o Processador precisa aguardar a Memoria Persistente encontrar esse arquivo especifico dentre esses cem arquivos... Se a Memoria Volatil tiver 2 GBs, entao ela dividira a Memoria Persistente em vinte partes de quinhentos MegaBytes, portanto a Memoria Persistente precisaria procurar um arquivo dentre cinquenta arquivos, portanto seria um custo menor que a situacao anterior... Porem isso nao eh suficiente e a Memoria Cache completa esse trabalho dividindo dentro de si o mapa da Memoria Volatil executando a mesma tarefa que a Memoria Volatil faz sobre a Memoria Persistente, porem a Memoria Cache faz isso sobre a Memoria Volatil para a procura sobre a Memoria Volatil ser menos custosa... A Memoria Volatil guarda informacoes do sistema tambem com a finalidade de facilitar a comunicacao entre os componentes... Entao se o Processador De Audio precisar de uma informacao especifica que se encontra no Processador Grafico, entao o Processador De Audio perguntara ah Memoria Volatil quem possui essa informacao e a Memoria Volatil dira ah o Processador De Audio que o Processador Grafico eh quem possui essa informacao e esses dois Processadores se comunicarao para resolverem essa questao...
...
Processadores
- Unidade Logica E Aritmetica - Registradores
As Unidades Logica E Aritmetica processam as informacoes armazenadas nos Registradores... A capacidade desse processamento eh determinada pelo Tamanho Da Palavra que os Registradores sao capaz de armazenarem... Processadores possuem os Tamanhos De Palavras de 8 bits, 16 bits, 32 bits e 64 bits... Cada registrador pode armazenar uma palavra... O tamanho do Registrador eh calculado atravez da potencia da base Hexa-Decimal elevada pelo Tamanho Da Palavra... 16^8 - 16^16 - 16^32 - 16^64... As Unidades Logica E Aritmetica processam bilhoes informacoes em um instante, porque a demanda eh grande... Quanto maior o Tamanho Da Palavra mais Registradores e Unidades Logica E Aritmetica o processador possui, porque os processadores sao Construcoes Logicas dependentes do Tamanho Da Palavra... Quanto maior o tamanho da palavra maior eh o tamanho das memorias Registradores... Quanto maior o Tamanho Da Palavra maior eh o poder de processamento do Processador... Um processador Single Core 64 bits que possua 100 milhoes de transistores possui milhares de barramentos, milhares de Memorias Registradores e milhares de Unidades Logica E Aritmetica... Um processador 64 bits que possua um bilhao de transistores possui milhoes de barramentos, milhoes de Memorias Registradores e milhoes de Unidades Logica E Aritmetica... Quanto maior o Tamanho Da Palavra mais complexa e mais poderosa eh a Unidade Logica E Aritmetica e seu Nucleo De Controle De Processos
...
- Barramento - Frequencia - Memorias Registratadores - Processadores ULA - Unidade De Controle
Se ampliarmos um Processador ah o tamanho de uma cidade, entao teriamos as estruturas como casas e predios como as Memorias Registradores , Processadores ULA e a Unidade De Controle e as ruas como os barramentos... As Memorias Registradores armazenam as informacoes, os Processadores ULA tratam as informacoes, a Unidade De Controle administra o tratamento das informacoes e os barramentos transportam as informacoes entre as estruturas... A frequencia eh a velocidade que as informacoes se deslocam nas ruas de uma estrutura ah outra estrutura
...
- Microchips - Comparacao De Desempenho
... Compare a quantidade de transistores nos microchips do mesmo tipo e da mesma marca... A Memoria Cache eh o componente que usa mais transistores... A Memoria Cache faz diferenca em acesso ah registros muito grandes de servidores, contudo nao faz muito diferente em Linux... A Memoria Auxiliar SWAP do Linux eh melhor que a Memoria Cache do Processador, portanto quanto maior a Memoria Auxiliar SWAP for melhor... Linux leves e servidores antigos se dao bem com Memorias Auxiliares SWAP ah partir de 1 GB... Linux pesados - Que precisam de 2 GBs de Memoria RAM - Precisam de 10 GBs de Memoria Auxiliar SWAP... Comparar o tempo de descompactacao de arquivos eh o teste mais facil de desempenho de processadores...
...
- Interface Homem Maquina
Os usuarios vem as Interfaces Homem Maquina apenas... Quanto mais bela, mas simples, mais facil e mais clara - Sofisticada Consequentemente - a Interface Homem Maquina for melhor ela sera independente do estilo
...
- Egenharia De Software

Administracao eh uma coisa e gestao eh outra coisa... Gestao sem lideranca nao existe... O gestor eh capaz de ver ah si como um membro da equipe... O gestor eh capaz de ver que a equipe eh um corpo, portanto integrado, portanto precisa de cuidados especiais... O gestor eh capacitado ah esclarecer sua equipe... O gestor eh capacitado ah orientar sua equipe... O gestor eh capacitado ah direcionar sua equipe... O gestor eh capaz de integrar sua equipe... O gestor eh capacitado ah ver as qualidades dos membros de sua equipe... O gestor eh capaz de ajudar sua equipe ah melhorar suas qualidades... O gestor eh capaz de fazer sua equipe ah usar o maximo de seu potencial... O gestor eh capaz de ajudar sua equipe ah fortalecer seus atributos fracos... O gestor eh capaz de fazer sua equipe adquirir qualidades que ela nao possuia antes... O gestor tem a funcao de cuidar de sua equipe e a funcao de impedir que males ocorram ah sua equipe... O gestor eh capaz de identificar os membros de sua equipe que estao mal intencionados relativo ah equipe e mal intencionados relativo ah o trampo e eh capaz de eliminar os elementos mal intensionados…

O uso de nobreaks em modens, roteadores, switches e hubs eh necessário ahs vezes para a perda de comunicação não ocorrer… O uso de baterias auxiliares de moto, carro e caminhão eh necessário ahs vezes
Empresas e setores que usam sistemas WEB apenas devem usarem algum sistema operacional UNIX/Linux em seus computadores...
...
...
...
...
Software
- Poder - Ser capaz de algo...
- Autarquia - Auto suficiente...
- Software - Eh uma Inteligencia Artificial
- Algoritimo De Software - Formula matematica autonoma que resolve algum problema em algum Sistema Computacional...
- Sistemas Computacionais - Entidades Inconscientes... Essas entidades sao poderozissimas, porem elas nao sabem fazerem coisa alguma sozinhas...
- Extrutura - Qualquer coisa composta por mais que um elemento que juntos exercem uma funcao pelo menos...
...
... A formula Y = X + 1 e sua solucao sao execultadas por um ser humano... Uma Entidade Computacional nao sabe fazer isso... A pessoa precisa criar uma Estrutura, um Mecanismo que ensine ah Entidade Computacional ah fazer isso... Essas extruturas possuem o nome Extrutura De Dados... Esses mecanismos possuem o nome Mecanismo De Software...
... A Extrutura De Dados abaixo que eh um Mecanismo De Software repete uma Multiplicacao com a finalidade de compor uma Potencia... Porque... Assim como uma Multiplicacao eh uma Soma sucessiva, uma Potencia eh uma Multiplicacao sucessiva...
...
...
...
void metodoPotencia()
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°CALCULO DE POTENCIA°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
cout << "Digite o valor de X... ";
cin >> x;
cout << "\n";
cout << "Digite o valor de Y... ";
cin >> y;
cout << "\n";


z = 1;

do
{
z = z * y;
x--;
}
while (x > 0);

cout << "O resultado dessa potencia eh " << z << "\n\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
}

sexta-feira, 11 de outubro de 2019

Zero Absoluto - Orientacao Ah Objetos - III - Grafos - ATUALIZANDO...

#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;

struct EstruturaDoVerticeDoGrafo
{
int VerticeI = 0;
int VerticeII = 0;
int VerticeIII = 0;
int VerticeIV = 0;
int VerticeV = 0;
int GrauDesseVertice = 0;
};

struct EstruturaDoVerticeDoGrafoDirigido
{
int VerticeDirigidoI = 0;
int VerticeDirigidoII = 0;
int VerticeDirigidoIII = 0;
int VerticeDirigidoIV = 0;
int VerticeDirigidoV = 0;
int GrauDesseVertice = 0;
};

class Grafos
{
private:

EstruturaDoVerticeDoGrafo VerticeI, VerticeII, VerticeIII, VerticeIV, VerticeV;
EstruturaDoVerticeDoGrafoDirigido VerticeDirigidoI, VerticeDirigidoII, VerticeDirigidoIII, VerticeDirigidoIV, VerticeDirigidoV;
int SeEhPonderado = 0, Opcao = 0, PesoDessaAresta = 0, CalculoDoCaminhoDeEuler = 0;
float GrauTotal = 0, SomaDosVerticesParaGrauMedio = 0, GrauMinimo = 0, GrauMedio = 0, GrauMaximo = 0;

public:

Grafos()
{
}

void metodoCriacaoDoGrafo()
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°CONSTRUCAO DO GRAFO°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
        cout << "Esse Grafo eh podenrado?...\n\n";
        cout << "1 - Nao\n";
        cout << "2 - Sim\n\n";
        cout << "Sua escolha eh... ";
        cin >> SeEhPonderado;
        cout << "\n";

if (SeEhPonderado == 1)
        {

cout << "O Vertice I se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeI.VerticeI = 1;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeI.VerticeII = 1;
VerticeII.VerticeI = 1;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeI.VerticeIII = 1;
VerticeIII.VerticeI = 1;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeI.VerticeIV = 1;
VerticeIV.VerticeI = 1;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeI.VerticeV = 1;
VerticeV.VerticeI = 1;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeII.VerticeII = 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeII.VerticeIII = 1;
VerticeIII.VerticeII = 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeII.VerticeIV = 1;
VerticeIV.VerticeII = 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeII.VerticeV = 1;
VerticeV.VerticeII = 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeIII.VerticeIII = 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeIII.VerticeIV = 1;
VerticeIV.VerticeIII = 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeIII.VerticeV = 1;
VerticeV.VerticeIII = 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeIV.VerticeIV = 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeIV.VerticeV = 1;
VerticeV.VerticeIV = 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeV.VerticeV = 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}
}

if (SeEhPonderado == 2)
        {

cout << "O Vertice I se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeI.VerticeI = PesoDessaAresta;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeI.VerticeII = PesoDessaAresta;
VerticeII.VerticeI = PesoDessaAresta;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeI.VerticeIII = PesoDessaAresta;
VerticeIII.VerticeI = PesoDessaAresta;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeI.VerticeIV = PesoDessaAresta;
VerticeIV.VerticeI = PesoDessaAresta;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeI.VerticeV = PesoDessaAresta;
VerticeV.VerticeI = PesoDessaAresta;
VerticeI.GrauDesseVertice = VerticeI.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeII.VerticeII = PesoDessaAresta;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeII.VerticeIII = PesoDessaAresta;
VerticeIII.VerticeII = PesoDessaAresta;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeII.VerticeIV = PesoDessaAresta;
VerticeIV.VerticeII = PesoDessaAresta;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeII.VerticeV = PesoDessaAresta;
VerticeV.VerticeII = PesoDessaAresta;
VerticeII.GrauDesseVertice = VerticeII.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeIII.VerticeIII = PesoDessaAresta;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeIII.VerticeIV = PesoDessaAresta;
VerticeIV.VerticeIII = PesoDessaAresta;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeIII.VerticeV = PesoDessaAresta;
VerticeV.VerticeIII = PesoDessaAresta;
VerticeIII.GrauDesseVertice = VerticeIII.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeIV.VerticeIV = PesoDessaAresta;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeIV.VerticeV = PesoDessaAresta;
VerticeV.VerticeIV = PesoDessaAresta;
VerticeIV.GrauDesseVertice = VerticeIV.GrauDesseVertice + 1;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeV.VerticeV = PesoDessaAresta;
VerticeV.GrauDesseVertice = VerticeV.GrauDesseVertice + 1;
}
}
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
}

void metodoImpressaoDoGrafo()
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°LEITURA DO GRAFO°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";

if (VerticeI.VerticeI != 0)
if (VerticeI.VerticeI == 1)
cout << "O Vertice I tem Aresta com o Vertice I\n";
else
cout << "O Vertice I tem Aresta com o Vertice I com peso " << VerticeI.VerticeI <<"\n";

if (VerticeI.VerticeII != 0)
if (VerticeI.VerticeII == 1)
cout << "O Vertice I tem Aresta com o Vertice II\n";
else
cout << "O Vertice I tem Aresta com o Vertice II com peso " << VerticeI.VerticeII <<"\n";

if (VerticeI.VerticeIII != 0)
if (VerticeI.VerticeIII == 1)
cout << "O Vertice I tem Aresta com o Vertice III\n";
else
cout << "O Vertice I tem Aresta com o Vertice III com peso " << VerticeI.VerticeIII <<"\n";

if (VerticeI.VerticeIV != 0)
if (VerticeI.VerticeIV == 1)
cout << "O Vertice I tem Aresta com o Vertice IV\n";
else
cout << "O Vertice I tem Aresta com o Vertice IV com peso " << VerticeI.VerticeIV <<"\n";

if (VerticeI.VerticeV != 0)
if (VerticeI.VerticeV == 1)
cout << "O Vertice I tem Aresta com o Vertice V\n";
else
cout << "O Vertice I tem Aresta com o Vertice V com peso " << VerticeI.VerticeV <<"\n";

cout << "O Grau do Vertice I eh " << VerticeI.GrauDesseVertice << "\n\n";

if (VerticeII.VerticeII != 0)
if (VerticeII.VerticeII == 1)
cout << "O Vertice II tem Aresta com o Vertice II\n";
else
cout << "O Vertice II tem Aresta com o Vertice II com peso " << VerticeII.VerticeII <<"\n";

if (VerticeII.VerticeIII != 0)
if (VerticeII.VerticeIII == 1)
cout << "O Vertice II tem Aresta com o Vertice III\n";
else
cout << "O Vertice II tem Aresta com o Vertice III com peso " << VerticeII.VerticeIII <<"\n";

if (VerticeII.VerticeIV != 0)
if (VerticeII.VerticeIV == 1)
cout << "O Vertice II tem Aresta com o Vertice IV\n";
else
cout << "O Vertice II tem Aresta com o Vertice IV com peso " << VerticeII.VerticeIV <<"\n";

if (VerticeII.VerticeV != 0)
if (VerticeII.VerticeV == 1)
cout << "O Vertice II tem Aresta com o Vertice V\n";
else
cout << "O Vertice II tem Aresta com o Vertice V com peso " << VerticeII.VerticeV <<"\n";

cout << "O Grau do Vertice II eh " << VerticeII.GrauDesseVertice << "\n\n";

if (VerticeIII.VerticeIII != 0)
if (VerticeIII.VerticeIII == 1)
cout << "O Vertice III tem Aresta com o Vertice III\n";
else
cout << "O Vertice III tem Aresta com o Vertice III com peso " << VerticeIII.VerticeIII <<"\n";

if (VerticeIII.VerticeIV != 0)
if (VerticeIII.VerticeIV == 1)
cout << "O Vertice III tem Aresta com o Vertice IV\n";
else
cout << "O Vertice III tem Aresta com o Vertice IV com peso " << VerticeIII.VerticeIV <<"\n";

if (VerticeIII.VerticeV != 0)
if (VerticeIII.VerticeV == 1)
cout << "O Vertice III tem Aresta com o Vertice V\n";
else
cout << "O Vertice III tem Aresta com o Vertice V com peso " << VerticeIII.VerticeV <<"\n";

cout << "O Grau do Vertice III eh " << VerticeIII.GrauDesseVertice << "\n\n";

if (VerticeIV.VerticeIV != 0)
if (VerticeIV.VerticeIV == 1)
cout << "O Vertice IV tem Aresta com o Vertice IV\n";
else
cout << "O Vertice IV tem Aresta com o Vertice IV com peso " << VerticeIV.VerticeIV <<"\n";

if (VerticeIV.VerticeV != 0)
if (VerticeIV.VerticeV == 1)
cout << "O Vertice IV tem Aresta com o Vertice V\n";
else
cout << "O Vertice IV tem Aresta com o Vertice V com peso " << VerticeIV.VerticeV <<"\n";

cout << "O Grau do Vertice IV eh " << VerticeIV.GrauDesseVertice << "\n\n";

if (VerticeV.VerticeV != 0)
if (VerticeV.VerticeV == 1)
cout << "O Vertice V tem Aresta com o Vertice V\n";
else
cout << "O Vertice V tem Aresta com o Vertice V com peso " << VerticeV.VerticeV <<"\n";

cout << "O Grau do Vertice V eh " << VerticeV.GrauDesseVertice << "\n\n";


GrauMinimo = VerticeI.GrauDesseVertice;

if (VerticeII.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeII.GrauDesseVertice;

if (VerticeIII.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeIII.GrauDesseVertice;

if (VerticeIV.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeIV.GrauDesseVertice;

if (VerticeV.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeV.GrauDesseVertice;

cout << "O Grau minimo desse Grafo eh " << GrauMinimo << "\n\n";


if (VerticeI.VerticeI != 0 || VerticeI.VerticeII != 0 || VerticeI.VerticeIII != 0 || VerticeI.VerticeIV != 0 || VerticeI.VerticeV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeII.VerticeII != 0 || VerticeII.VerticeIII != 0 || VerticeII.VerticeIV != 0 || VerticeII.VerticeV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeIII.VerticeIII != 0 || VerticeIII.VerticeIV != 0 || VerticeIII.VerticeV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeIV.VerticeIV != 0 || VerticeIV.VerticeV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeV.VerticeV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;


GrauTotal = VerticeI.GrauDesseVertice + VerticeII.GrauDesseVertice + VerticeIII.GrauDesseVertice + VerticeIV.GrauDesseVertice + VerticeV.GrauDesseVertice;

GrauMedio = GrauTotal / SomaDosVerticesParaGrauMedio;

cout << "O Grau medio desse Grafo eh " << GrauMedio << "\n\n";


GrauMaximo = VerticeI.GrauDesseVertice;

if (VerticeII.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeII.GrauDesseVertice;

if (VerticeIII.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeIII.GrauDesseVertice;

if (VerticeIV.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeIV.GrauDesseVertice;

if (VerticeV.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeV.GrauDesseVertice;

cout << "O Grau maximo desse Grafo eh " << GrauMaximo << "\n\n";


cout << "O Grau total desse Grafo eh " << GrauTotal << "\n\n";

if (VerticeI.GrauDesseVertice != 0)
if (VerticeI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeII.GrauDesseVertice != 0)
if (VerticeI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeIII.GrauDesseVertice != 0)
if (VerticeI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeIV.GrauDesseVertice != 0)
if (VerticeI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeV.GrauDesseVertice != 0)
if (VerticeI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (CalculoDoCaminhoDeEuler == 0 || CalculoDoCaminhoDeEuler == 2)
cout << "Esse Grafo possue o Caminho De Euler\n\n";
else
cout << "Esse Grafo nao possue o Caminho De Euler\n\n";

cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
}

~Grafos()
{
}
};

class GrafosDirigidos
{
private:

EstruturaDoVerticeDoGrafoDirigido VerticeDirigidoI, VerticeDirigidoII, VerticeDirigidoIII, VerticeDirigidoIV, VerticeDirigidoV;
int SeEhPonderado = 0, Opcao = 0, PesoDessaAresta = 0, CalculoDoCaminhoDeEuler = 0;
float GrauTotal = 0, SomaDosVerticesParaGrauMedio = 0, GrauMinimo = 0, GrauMedio = 0, GrauMaximo = 0;

public:

GrafosDirigidos()
{
}

void metodoCriacaoDoGrafoDirigido()
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°CONSTRUCAO DO DIGRAFO°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
    cout << "Esse DiGrafo eh podenrado?...\n\n";
        cout << "1 - Nao\n";
        cout << "2 - Sim\n\n";
        cout << "Sua escolha eh... ";
        cin >> SeEhPonderado;
        cout << "\n";

if (SeEhPonderado == 1)
        {

cout << "O Vertice I se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoI.VerticeDirigidoI = 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoI.VerticeDirigidoII = 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoI.VerticeDirigidoIII = 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoI.VerticeDirigidoIV = 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoI.VerticeDirigidoV = 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoII.VerticeDirigidoI = 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;

}

cout << "O Vertice II se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoII.VerticeDirigidoII = 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoII.VerticeDirigidoIII = 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoII.VerticeDirigidoIV = 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoII.VerticeDirigidoV = 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIII.VerticeDirigidoI = 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIII.VerticeDirigidoII = 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIII.VerticeDirigidoIII = 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIII.VerticeDirigidoIV = 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIII.VerticeDirigidoV = 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIV.VerticeDirigidoI = 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIV.VerticeDirigidoII = 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIV.VerticeDirigidoIII = 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIV.VerticeDirigidoIV = 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoIV.VerticeDirigidoV = 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoV.VerticeDirigidoI = 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoV.VerticeDirigidoII = 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoV.VerticeDirigidoIII = 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoV.VerticeDirigidoIV = 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
VerticeDirigidoV.VerticeDirigidoV = 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}
}
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";


if (SeEhPonderado == 2)
        {

cout << "O Vertice I se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoI.VerticeDirigidoI = PesoDessaAresta;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoI.VerticeDirigidoII = PesoDessaAresta;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoI.VerticeDirigidoIII = PesoDessaAresta;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoI.VerticeDirigidoIV = PesoDessaAresta;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice I se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoI.VerticeDirigidoV = PesoDessaAresta;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoII.VerticeDirigidoI = PesoDessaAresta;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoII.VerticeDirigidoII = PesoDessaAresta;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoII.VerticeDirigidoIII = PesoDessaAresta;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoII.VerticeDirigidoIV = PesoDessaAresta;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice II se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoII.VerticeDirigidoV = PesoDessaAresta;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIII.VerticeDirigidoI = PesoDessaAresta;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIII.VerticeDirigidoII = PesoDessaAresta;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIII.VerticeDirigidoIII = PesoDessaAresta;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIII.VerticeDirigidoIV = PesoDessaAresta;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice III se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIII.VerticeDirigidoV = PesoDessaAresta;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIV.VerticeDirigidoI = PesoDessaAresta;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIV.VerticeDirigidoII = PesoDessaAresta;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIV.VerticeDirigidoIII = PesoDessaAresta;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIV.VerticeDirigidoIV = PesoDessaAresta;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice IV se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoIV.VerticeDirigidoV = PesoDessaAresta;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice I?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoV.VerticeDirigidoI = PesoDessaAresta;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoI.GrauDesseVertice = VerticeDirigidoI.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice II?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoV.VerticeDirigidoII = PesoDessaAresta;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoII.GrauDesseVertice = VerticeDirigidoII.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice III?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoV.VerticeDirigidoIII = PesoDessaAresta;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoIII.GrauDesseVertice = VerticeDirigidoIII.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice IV?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoV.VerticeDirigidoIV = PesoDessaAresta;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
VerticeDirigidoIV.GrauDesseVertice = VerticeDirigidoIV.GrauDesseVertice + 1;
}

cout << "O Vertice V se conecta ah o Vertice V?...\n\n";
cout << "1 - Nao\n";
cout << "2 - Sim\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
        cout << "\n";

if (Opcao == 2)
{
cout << "Digite o peso dessa Aresta...\n\n";
cout << "Sua escolha eh... ";
cin >> PesoDessaAresta;
cout << "\n";
VerticeDirigidoV.VerticeDirigidoV = PesoDessaAresta;
VerticeDirigidoV.GrauDesseVertice = VerticeDirigidoV.GrauDesseVertice + 1;
}
}
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
}


void metodoImpressaoDoGrafoDirigido()
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°LEITURA DO DIGRAFO°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";

if (VerticeDirigidoI.VerticeDirigidoI != 0)
if (VerticeDirigidoI.VerticeDirigidoI == 1)
cout << "|Vertice I| ----------> |Vertice I|\n";
else
cout << "|Vertice I| ----------> |Vertice I| - |Peso " << VerticeDirigidoI.VerticeDirigidoI <<"|\n";

if (VerticeDirigidoI.VerticeDirigidoII != 0)
if (VerticeDirigidoI.VerticeDirigidoII == 1)
cout << "|Vertice I| ----------> |Vertice II|\n";
else
cout << "|Vertice I| ----------> |Vertice II| - |Peso " << VerticeDirigidoI.VerticeDirigidoII <<"|\n";

if (VerticeDirigidoI.VerticeDirigidoIII != 0)
if (VerticeDirigidoI.VerticeDirigidoIII == 1)
cout << "|Vertice I| ----------> |Vertice III|\n";
else
cout << "|Vertice I| ----------> |Vertice III| - |Peso " << VerticeDirigidoI.VerticeDirigidoIII <<"|\n";

if (VerticeDirigidoI.VerticeDirigidoIV != 0)
if (VerticeDirigidoI.VerticeDirigidoIV == 1)
cout << "|Vertice I| ----------> |Vertice IV|\n";
else
cout << "|Vertice I| ----------> |Vertice IV| - |Peso " << VerticeDirigidoI.VerticeDirigidoIV <<"|\n";

if (VerticeDirigidoI.VerticeDirigidoV != 0)
if (VerticeDirigidoI.VerticeDirigidoV == 1)
cout << "|Vertice I| ----------> |Vertice V|\n";
else
cout << "|Vertice I| ----------> |Vertice V| - |Peso " << VerticeDirigidoI.VerticeDirigidoV <<"|\n";

        cout << "-------------------------------------------------------\n";
cout << "O Grau do Vertice I eh " << VerticeDirigidoI.GrauDesseVertice << "\n";
cout << "-------------------------------------------------------\n\n";

if (VerticeDirigidoII.VerticeDirigidoI != 0)
if (VerticeDirigidoII.VerticeDirigidoI == 1)
cout << "|Vertice II| ----------> |Vertice I|\n";
else
cout << "|Vertice II| ----------> |Vertice I| - |Peso " << VerticeDirigidoII.VerticeDirigidoI <<"|\n";

if (VerticeDirigidoII.VerticeDirigidoII != 0)
if (VerticeDirigidoII.VerticeDirigidoII == 1)
cout << "|Vertice II| ----------> |Vertice II|\n";
else
cout << "|Vertice II| ----------> |Vertice II| - |Peso " << VerticeDirigidoII.VerticeDirigidoII <<"|\n";

if (VerticeDirigidoII.VerticeDirigidoIII != 0)
if (VerticeDirigidoII.VerticeDirigidoIII == 1)
cout << "|Vertice II| ----------> |Vertice III|\n";
else
cout << "|Vertice II| ----------> |Vertice III| - |Peso " << VerticeDirigidoII.VerticeDirigidoIII <<"|\n";

if (VerticeDirigidoII.VerticeDirigidoIV != 0)
if (VerticeDirigidoII.VerticeDirigidoIV == 1)
cout << "|Vertice II| ----------> |Vertice IV|\n";
else
cout << "|Vertice II| ----------> |Vertice IV| - |Peso " << VerticeDirigidoII.VerticeDirigidoIV <<"|\n";

if (VerticeDirigidoII.VerticeDirigidoV != 0)
if (VerticeDirigidoII.VerticeDirigidoV == 1)
cout << "|Vertice II| ----------> |Vertice V|\n";
else
cout << "|Vertice II| ----------> |Vertice V| - |Peso " << VerticeDirigidoII.VerticeDirigidoV <<"|\n";

        cout << "-------------------------------------------------------\n";
cout << "O Grau do Vertice II eh " << VerticeDirigidoII.GrauDesseVertice << "\n";
cout << "-------------------------------------------------------\n\n";

if (VerticeDirigidoIII.VerticeDirigidoI != 0)
if (VerticeDirigidoIII.VerticeDirigidoI == 1)
cout << "|Vertice III| ----------> |Vertice I|\n";
else
cout << "|Vertice III| ----------> |Vertice I| - |Peso " << VerticeDirigidoIII.VerticeDirigidoI <<"|\n";

if (VerticeDirigidoIII.VerticeDirigidoII != 0)
if (VerticeDirigidoIII.VerticeDirigidoII == 1)
cout << "|Vertice III| ----------> |Vertice II|\n";
else
cout << "|Vertice III| ----------> |Vertice II| - |Peso " << VerticeDirigidoIII.VerticeDirigidoII <<"|\n";

if (VerticeDirigidoIII.VerticeDirigidoIII != 0)
if (VerticeDirigidoIII.VerticeDirigidoIII == 1)
cout << "|Vertice III| ----------> |Vertice III|\n";
else
cout << "|Vertice III| ----------> |Vertice III| - |Peso " << VerticeDirigidoIII.VerticeDirigidoIII <<"|\n";

if (VerticeDirigidoIII.VerticeDirigidoIV != 0)
if (VerticeDirigidoIII.VerticeDirigidoIV == 1)
cout << "|Vertice III| ----------> |Vertice IV|\n";
else
cout << "|Vertice III| ----------> |Vertice IV| - |Peso " << VerticeDirigidoIII.VerticeDirigidoIV <<"|\n";

if (VerticeDirigidoIII.VerticeDirigidoV != 0)
if (VerticeDirigidoIII.VerticeDirigidoV == 1)
cout << "|Vertice III| ----------> |Vertice V|\n";
else
cout << "|Vertice III| ----------> |Vertice V| - |Peso " << VerticeDirigidoIII.VerticeDirigidoV <<"|\n";

        cout << "-------------------------------------------------------\n";
cout << "O Grau do Vertice III eh " << VerticeDirigidoIII.GrauDesseVertice << "\n";
cout << "-------------------------------------------------------\n\n";

if (VerticeDirigidoIV.VerticeDirigidoI != 0)
if (VerticeDirigidoIV.VerticeDirigidoI == 1)
cout << "|Vertice IV| ----------> |Vertice I|\n";
else
cout << "|Vertice IV| ----------> |Vertice I| - |Peso " << VerticeDirigidoIV.VerticeDirigidoI <<"|\n";

if (VerticeDirigidoIV.VerticeDirigidoII != 0)
if (VerticeDirigidoIV.VerticeDirigidoII == 1)
cout << "|Vertice IV| ----------> |Vertice II|\n";
else
cout << "|Vertice IV| ----------> |Vertice II| - |Peso " << VerticeDirigidoIV.VerticeDirigidoII <<"|\n";

if (VerticeDirigidoIV.VerticeDirigidoIII != 0)
if (VerticeDirigidoIV.VerticeDirigidoIII == 1)
cout << "|Vertice IV| ----------> |Vertice III|\n";
else
cout << "|Vertice IV| ----------> |Vertice III| - |Peso " << VerticeDirigidoIV.VerticeDirigidoIII <<"|\n";

if (VerticeDirigidoIV.VerticeDirigidoIV != 0)
if (VerticeDirigidoIV.VerticeDirigidoIV == 1)
cout << "|Vertice IV| ----------> |Vertice IV|\n";
else
cout << "|Vertice IV| ----------> |Vertice IV| - |Peso " << VerticeDirigidoIV.VerticeDirigidoIV <<"|\n";

if (VerticeDirigidoIV.VerticeDirigidoV != 0)
if (VerticeDirigidoIV.VerticeDirigidoV == 1)
cout << "|Vertice IV| ----------> |Vertice V|\n";
else
cout << "|Vertice IV| ----------> |Vertice V| - |Peso " << VerticeDirigidoIV.VerticeDirigidoV <<"|\n";

        cout << "-------------------------------------------------------\n";
cout << "O Grau do Vertice IV eh " << VerticeDirigidoIV.GrauDesseVertice << "\n";
cout << "-------------------------------------------------------\n\n";

if (VerticeDirigidoV.VerticeDirigidoI != 0)
if (VerticeDirigidoV.VerticeDirigidoI == 1)
cout << "|Vertice V| ----------> |Vertice I|\n";
else
cout << "|Vertice V| ----------> |Vertice I| - |Peso " << VerticeDirigidoV.VerticeDirigidoI <<"|\n";

if (VerticeDirigidoV.VerticeDirigidoII != 0)
if (VerticeDirigidoV.VerticeDirigidoII == 1)
cout << "|Vertice V| ----------> |Vertice II|\n";
else
cout << "|Vertice V| ----------> |Vertice II| - |Peso " << VerticeDirigidoV.VerticeDirigidoII <<"|\n";

if (VerticeDirigidoV.VerticeDirigidoIII != 0)
if (VerticeDirigidoV.VerticeDirigidoIII == 1)
cout << "|Vertice V| ----------> |Vertice III|\n";
else
cout << "|Vertice V| ----------> |Vertice III| - |Peso " << VerticeDirigidoV.VerticeDirigidoIII <<"|\n";

if (VerticeDirigidoV.VerticeDirigidoIV != 0)
if (VerticeDirigidoV.VerticeDirigidoIV == 1)
cout << "|Vertice V| ----------> |Vertice IV|\n";
else
cout << "|Vertice V| ----------> |Vertice IV| - |Peso " << VerticeDirigidoV.VerticeDirigidoIV <<"|\n";

if (VerticeDirigidoV.VerticeDirigidoV != 0)
if (VerticeDirigidoV.VerticeDirigidoV == 1)
cout << "|Vertice V| ----------> |Vertice V|\n";
else
cout << "|Vertice V| ----------> |Vertice V| - |Peso " << VerticeDirigidoV.VerticeDirigidoV <<"|\n";

        cout << "-------------------------------------------------------\n";
cout << "O Grau do Vertice V eh " << VerticeDirigidoV.GrauDesseVertice << "\n\n";
cout << "-------------------------------------------------------\n\n";

GrauTotal = VerticeDirigidoI.GrauDesseVertice + VerticeDirigidoII.GrauDesseVertice + VerticeDirigidoIII.GrauDesseVertice + VerticeDirigidoIV.GrauDesseVertice + VerticeDirigidoV.GrauDesseVertice;


if (VerticeDirigidoI.VerticeDirigidoI != 0 || VerticeDirigidoI.VerticeDirigidoII != 0 || VerticeDirigidoI.VerticeDirigidoIII != 0 || VerticeDirigidoI.VerticeDirigidoIV != 0 || VerticeDirigidoI.VerticeDirigidoV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeDirigidoII.VerticeDirigidoII != 0 || VerticeDirigidoII.VerticeDirigidoIII != 0 || VerticeDirigidoII.VerticeDirigidoIV != 0 || VerticeDirigidoII.VerticeDirigidoV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeDirigidoIII.VerticeDirigidoIII != 0 || VerticeDirigidoIII.VerticeDirigidoIV != 0 || VerticeDirigidoIII.VerticeDirigidoV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeDirigidoIV.VerticeDirigidoIV != 0 || VerticeDirigidoIV.VerticeDirigidoV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;

if (VerticeDirigidoV.VerticeDirigidoV != 0)
SomaDosVerticesParaGrauMedio = SomaDosVerticesParaGrauMedio + 1;



GrauMinimo = VerticeDirigidoI.GrauDesseVertice;

if (VerticeDirigidoII.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeDirigidoII.GrauDesseVertice;

if (VerticeDirigidoIII.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeDirigidoIII.GrauDesseVertice;

if (VerticeDirigidoIV.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeDirigidoIV.GrauDesseVertice;

if (VerticeDirigidoV.GrauDesseVertice < GrauMinimo)
GrauMinimo = VerticeDirigidoV.GrauDesseVertice;

GrauMedio = GrauTotal / SomaDosVerticesParaGrauMedio;

cout << "O Grau minimo desse DiGrafo eh " << GrauMinimo << "\n";
cout << "-------------------------------------------------------\n";

cout << "O Grau medio desse DiGrafo eh " << GrauMedio << "\n";
cout << "-------------------------------------------------------\n";

GrauMaximo = VerticeDirigidoI.GrauDesseVertice;

if (VerticeDirigidoII.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeDirigidoII.GrauDesseVertice;

if (VerticeDirigidoIII.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeDirigidoIII.GrauDesseVertice;

if (VerticeDirigidoIV.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeDirigidoIV.GrauDesseVertice;

if (VerticeDirigidoV.GrauDesseVertice > GrauMaximo)
GrauMaximo = VerticeDirigidoV.GrauDesseVertice;

cout << "O Grau maximo desse DiGrafo eh " << GrauMaximo << "\n";
cout << "-------------------------------------------------------\n";

cout << "O Grau total desse DiGrafo eh " << GrauTotal << "\n";
cout << "-------------------------------------------------------\n";

if (VerticeDirigidoI.GrauDesseVertice != 0)
if (VerticeDirigidoI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeDirigidoII.GrauDesseVertice != 0)
if (VerticeDirigidoI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeDirigidoIII.GrauDesseVertice != 0)
if (VerticeDirigidoI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeDirigidoIV.GrauDesseVertice != 0)
if (VerticeDirigidoI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (VerticeDirigidoV.GrauDesseVertice != 0)
if (VerticeDirigidoI.GrauDesseVertice % 2 != 0)
CalculoDoCaminhoDeEuler = CalculoDoCaminhoDeEuler + 1;

if (CalculoDoCaminhoDeEuler == 0 || CalculoDoCaminhoDeEuler == 2)
cout << "Esse DiGrafo possui o Caminho De Euler\n\n";
else
cout << "Esse DiGrafo nao possui o Caminho De Euler\n\n";

cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
}

~GrafosDirigidos()
{
}
};

int main (void)
{
char Opcao;
Grafos ClasseGrafos;
GrafosDirigidos ClasseGrafosDirigidos;

do
{
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°PROGRAMA DE CONSTRUIR GRAFOS°°°°°°°°°°°°°\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";
cout << "1 - Criar Grafo nao Dirigido\n";
cout << "2 - Criar Grafo Dirigido\n";
cout << "3 - Ver as propriedades do Grafo\n";
cout << "4 - Ver as propriedades do Grafo Dirigido\n";
cout << "5 - Limpar esse Terminal\n";
cout << "6 - Sair desse Programa\n\n";
cout << "Sua escolha eh... ";
cin >> Opcao;
cout << "\n";
cout << "°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\n\n";

switch (Opcao)
{
case '1':
ClasseGrafos.metodoCriacaoDoGrafo();
break;
case '2':
ClasseGrafosDirigidos.metodoCriacaoDoGrafoDirigido();
break;
case '3':
ClasseGrafos.metodoImpressaoDoGrafo();
break;
case '4':
ClasseGrafosDirigidos.metodoImpressaoDoGrafoDirigido();
break;
case '5':
system("cls");
break;
}
if ((Opcao != '1') && (Opcao != '2') && (Opcao != '3') && (Opcao != '4') && (Opcao != '5') && (Opcao != '6'))
{
cout << "Voce digitou uma opcao invalita\n\n";
}
}
while (Opcao != '6');
};