elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  pasar de c++ a c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pasar de c++ a c  (Leído 1,641 veces)
blaaaack

Desconectado Desconectado

Mensajes: 2


Ver Perfil
pasar de c++ a c
« en: 13 Noviembre 2017, 22:32 pm »

hola buenas alguien me podria ayudar a pasar este codigo de c++ a c no se anda sobre c++ y no entiendo como se ttrabajan los arrays ahi

Código:
// Declaraciones en el archivo .h
int cn; //cantidad de nodos
vector< vector<int> > ady; //matriz de adyacencia

// Devuelve la matriz de adyacencia del árbol mínimo.
vector< vector<int> > Grafo :: kruskal(){
    vector< vector<int> > adyacencia = this->ady;
    vector< vector<int> > arbol(cn);
    vector<int> pertenece(cn); // indica a que árbol pertenece el nodo

    for(int i = 0; i < cn; i++){
        arbol[i] = vector<int> (cn, 0);
        pertenece[i] = i;
    }

    int nodoA;
    int nodoB;
    int arcos = 1;
    while(arcos < cn){
        // Encontrar  el arco mínimo que no forma ciclo y guardar los nodos y la distancia.
        int min = INF;
        for(int i = 0; i < cn; i++)
            for(int j = 0; j < cn; j++)
                if(min > adyacencia[i][j] && adyacencia[i][j]!=0 && pertenece[i] != pertenece[j]){
                    min = adyacencia[i][j];
                    nodoA = i;
                    nodoB = j;
                }

        // Si los nodos no pertenecen al mismo árbol agrego el arco al árbol mínimo.
        if(pertenece[nodoA] != pertenece[nodoB]){
            arbol[nodoA][nodoB] = min;
            arbol[nodoB][nodoA] = min;

            // Todos los nodos del árbol del nodoB ahora pertenecen al árbol del nodoA.
        int temp = pertenece[nodoB];
        pertenece[nodoB] = pertenece[nodoA];
        for(int k = 0; k < cn; k++)
        if(pertenece[k] == temp)
        pertenece[k] = pertenece[nodoA];

            arcos++;
        }
    }
    return arbol;
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar dvd a cd
Multimedia
Ariel 6 3,279 Último mensaje 22 Enero 2004, 18:49 pm
por Ariel
pasar kar a vcd « 1 2 »
Multimedia
orach 13 13,356 Último mensaje 19 Mayo 2004, 05:54 am
por orach
pasar de avi o mpg a dvd
Multimedia
mrbrown 1 3,838 Último mensaje 29 Julio 2004, 10:42 am
por Songoku
pasar un jpg a ico « 1 2 »
Multimedia
Badcode 11 9,049 Último mensaje 26 Agosto 2004, 10:32 am
por Songoku
pasar de wmv a mpg
Multimedia
sontk 1 2,037 Último mensaje 8 Septiembre 2004, 23:51 pm
por Songoku
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines