Ir para conteúdo
Fórum Script Brasil
  • 0

DÚVIDA - GRAFO: MATRIZ ADJACÊNCIA


azbit

Pergunta

Olá irmãos, tudo beleza?

Eu estudo Engenharia da Computação e estou com uma certa dificuldade em classificar o grafo em pseudografo, multigrafo e grafo simples.

 

Pseudografo quando tem um laço, se na diagonal principal tiver 1, é pseudografo

Multigrafo é quando tem aresta paralela, se tiver um valor acima de 1 é multigrafo.

Grafo simples quando não é pseudografo nem multigrafo.

 

Implementação:

#include <stdio.h>

int main() {
    int MAdj[100][100];
    int Ordem;
    int origem, destino;

// Zerando matriz de adjacencia
    for(int l=0; l < 100; l++)
        for (int c=0; c < 100; c++)
            MAdj[l][c]=0;

// Ler a ordem do grafo
    printf("Entre com a ordem do grafo:");
    scanf("%i",&Ordem);

// Ler arestas até origem = -1

    printf("Entre com o nó origem (-1 para parar):");
    scanf("%i",&origem);
    while (origem != -1) {
        printf("Entre com o nó destino:");
        scanf("%i",&destino);
        MAdj[origem][destino]++;
        if (origem != destino)
            MAdj[destino][origem]++;
        printf("Entre com o nó origem (-1 para parar):");
        scanf("%i",&origem);
    }

// Imprimindo matriz de adjacencia

    for(int l=0; l < Ordem; l++) {
        for (int c=0; c < Ordem; c++)
            printf("[%i] ",MAdj[l][c]);
        printf("\n");

    }

// Classificar os grafos em Simples, Multigrafos ou Pseudografos
// Simples não possui laço e nem aresta paralala.
// Multigrafo possui ao menos uma aresta paralela.
// Pseudografo possui ao menos um laço.

}


Eu tentei fazer a classificação assim:

    for(int l=0; l < Ordem; l++) {
        for (int c=0; c < Ordem; c++)
            if((l == c) && (MAdj[l][c] != 0)){
                printf("PSEUDOGRAFO");
            }
    }

 

Só que para multigrafo e grafo simples não to conseguindo...

Alguém poderia me ajudar ?

 

Obrigado desde já !

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...