1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C++ Remover Vertice

Discussão em 'Programação' iniciada por JomarC, 22 de Novembro de 2008. (Respostas: 6; Visualizações: 1255)

  1. JomarC

    JomarC Power Member

    Boas

    Suponhamos que temos um Grafo que tem vertices e ramos, ou seja template<class T, class R>

    Se queremos remover um vertice, logo temos que apagar os ramos que estão associados certo?

    Logo

    Código:
    
    template<class TV, class TR>
    void ListAdjGrafo<TV,TR>::remover_Vertice(const TV &vert) const{
        Vertice<TV,TR>*vertice=graf;
    
        if(vertice){ // Se o vertice existir
            Ramo<TV,TR> *ramos=vertice->apvertice; // Vai buscar os ramos que lhe estao associados
            while(ramos){ // Enquanto existir ramos
                
            }
        }
        //delete vertice->apvertice;
    
    }
    
    
    A questão e que não estou a perceber como vamos buscar os ramos para os eliminar e so depois eliminar o vertice...

    Cumps
     
  2. IComeFromBehind

    IComeFromBehind Power Member

    Nao podes meter ai a classe toda e que so com esse codigo pelo menos eu nao consigo perceber nada.
     
  3. PJTuga

    PJTuga Power Member

    nao explicas-te bem o que querias, e com o codigo que mostraste ninguem te pode ajudar

    mas como tenho o mesmo trabalho para fazer percebi o que queres!

    o teu comment está errado!

    Código:
    Ramo<TV,TR> *ramos=vertice->apvertice; // Vai buscar os ramos que lhe estao associados
    esse código da erro.. vertice->apvertice é um vertice...
    o codigo seria
    Código:
    Ramo<TV,TR> *ramos=vertice->apr; // Vai buscar os ramos que lhe estao associados
    
    while(ramos)
    {
    (...)
    ramos=ramos->apr
    }
    
     
  4. JomarC

    JomarC Power Member

    Pois mas é dificil de explicar sem por aqui o codigo todo (o que eu não quero obviamente! lol).

    Já agora tu quando adicionas o vertices...fazes a partir do primeiro ficheiro?

    Ou seja les o ficheiro, crias os objectos e mandas para o vector dinamico e depois adicionas logo o vertice?

    Do tipo:

    le o ficheiro...

    crias o obejcto, por exemplo:

    Cidade cid (nome, distrito)

    inserir_local(& cid) // ou seja manda po vector dinaminco

    g.juntar_vertice() ?

    É algo assim?
     
  5. PJTuga

    PJTuga Power Member

    há varias formas de fazer o mesmo trabalho.

    eu optei por:
    ao ler o 1º ficheiro crio e guardo os objectos para os vetores dinamicos (vector de locais e vector de vias).

    so adiciono ao grafo os objectos que estão no 2º ficheiro.
     
  6. JomarC

    JomarC Power Member

    E depois a informação que esta contida nos objectos? Vais buscar depois a onde?

    E que no 2º ficheiro supostamente é so os ramos...
     
  7. PJTuga

    PJTuga Power Member

    ao ler o 2ºficheiro, vou procurar nos vectores os locais e vias criados anteriormente
     

Partilhar esta Página