Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''grafos.h''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. O codigo fonte: #include <stdio.h> #include <stdlib.h> #include "stddef.h" #include "grafo.h" //inclui os Protótipos //Definição do tipo Grafo struct grafo{ int eh_ponderado; int nro_vertices; int grau_max; int** arestas; float** pesos; int* grau; }; Grafo* cria_Grafo(int nro_vertices, int grau_max, int eh_ponderado){ Grafo *gr; gr = (Grafo*) malloc(sizeof(struct grafo)); if(gr != NULL){ int i; gr->nro_vertices = nro_vertices; gr->grau_max = grau_max; gr->eh_ponderado = (eh_ponderado != 0)?1:0; gr->grau = (int*) calloc(nro_vertices,sizeof(int)); gr->arestas = (int**) malloc(nro_vertices * sizeof(int*)); for(i=0; i<nro_vertices; i++) gr->arestas = (int*) malloc(grau_max * sizeof(int)); if(gr->eh_ponderado){ gr->pesos = (float**) malloc(nro_vertices * sizeof(float*)); for(i=0; i<nro_vertices; i++) gr->pesos = (float*) malloc(grau_max * sizeof(float)); } } return gr; } void libera_Grafo(Grafo* gr){ if(gr != NULL){ int i; for(i=0; i<gr->nro_vertices; i++) free(gr->arestas); free(gr->arestas); if(gr->eh_ponderado){ for(i=0; i<gr->nro_vertices; i++) free(gr->pesos); free(gr->pesos); } free(gr->grau); free(gr); } } int insereAresta(Grafo* gr, int orig, int dest, int eh_digrafo, float peso){ if(gr == NULL) return 0; if(orig < 0 || orig >= gr->nro_vertices) return 0; if(dest < 0 || dest >= gr->nro_vertices) return 0; gr->arestas[orig][gr->grau[orig]] = dest; if(gr->eh_ponderado) gr->pesos[orig][gr->grau[orig]] = peso; gr->grau[orig]++; if(eh_digrafo == 0) insereAresta(gr,dest,orig,1,peso); return 1; } int removeAresta(Grafo* gr, int orig, int dest, int eh_digrafo){ if(gr == NULL) return 0; if(orig < 0 || orig >= gr->nro_vertices) return 0; if(dest < 0 || dest >= gr->nro_vertices) return 0; int i = 0; while(i<gr->grau[orig] && gr->arestas[orig] != dest) i++; if(i == gr->grau[orig])//elemento não encontrado return 0; gr->grau[orig]--; gr->arestas[orig] = gr->arestas[orig][gr->grau[orig]]; if(gr->eh_ponderado) gr->pesos[orig] = gr->pesos[orig][gr->grau[orig]]; if(eh_digrafo == 0) removeAresta(gr,dest,orig,1); return 1; } void imprime_Grafo(Grafo *gr){ if(gr == NULL) return; int i, j; for(i=0; i < gr->nro_vertices; i++){ printf("%d: ", i); for(j=0; j < gr->grau; j++){ if(gr->eh_ponderado) printf("%d(%.2f), ", gr->arestas[j], gr->pesos[j]); else printf("%d, ", gr->arestas[j]); } printf("\n"); } }
×
×
  • Criar Novo...