Ir ao conteúdo

Posts recomendados

Postado

preciso de uma funcao que determine se o grafo representado por matriz de adjacencia eh ciclico ou aciclico.

#include <stdio.h>
#include <stdlib.h>
#define branco 0
#define cinza 1
#define preto 2



typedef struct{
   int V;
   int A;
   int *cor;
   int **mat;
}GrafoMA;

 

Postado
20 horas atrás, Nelsonderocha disse:

preciso de uma funcao que determine se o grafo representado por matriz de adjacencia eh ciclico ou aciclico.

#include <stdio.h>
#include <stdlib.h>
#define branco 0
#define cinza 1
#define preto 2



typedef struct{
   int V;
   int A;
   int *cor;
   int **mat;
}GrafoMA;

 

o codigo que fiz ate agr

#include <stdio.h>
#include <stdlib.h>
#define branco 1
#define cinza 2
#define preto -1

typedef struct{
   int V;
   int A;
   int *cor;
   int **mat;
}GrafoMA;

int dfs(GrafoMA *g, int i, int p){
    int v;

    g->cor[i]=cinza;

    for(v=0;v<g->V;v++){
        if(g->mat[i][v]){
            if(v == p)
                continue;
            if(g->cor[v] == cinza)
                return 1;
            if(dfs(g,v,i)==1)
                return 1;
        }
    }
    return 0;
}

int ciclo(GrafoMA *g){
    int v;
    for(v=0;v<g->V;v++){
        if(g->cor[v]==cinza)
            continue;
        if(dfs(g,v,-1)==1){
            return 1;
        }
    }
    return 0;
}


int main(){
    int v, i,j,n;

    scanf("%d", &v);
    GrafoMA *g = iniciar_grafoMA(v);
    for(i=0;i<v;i++){
        for(j=0;j<v;j++){
            scanf("%d", &n);
            g->mat[i][j] = n;
        }
    }
    if(ciclo(g)==1){
        printf("ciclico");
    }
    else{
        printf("aciclico");
    }
    return 0;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!