Ir para conteúdo
Fórum Script Brasil

azbit

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que azbit postou

  1. 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á !
×
×
  • Criar Novo...