void main() { init(GrafoVisitados); initArray(visitado); insereAresta(0, 1, 1); insereAresta(1, 2, 1); insereAresta(2, 0, 1); listarGrafo(); verificarCircuito(Grafo, 0, visitado); system("pause"); }
void inicializaAresta(Pontos menor, Pontos maior, int yComp, Aresta *aresta, Aresta *arestas[]) { aresta->mx = (float) (maior.x - menor.x) / (maior.y - menor.y); aresta->x_in_ymin = menor.x; if (maior.y < yComp) aresta->y_max = maior.y - 1; else aresta->y_max = maior.y; insereAresta(arestas[menor.y], aresta); }
void montaAET(int varredura, Aresta *ativa, Aresta *arestas[]) { Aresta *p, *q; p = arestas[varredura]->prox; while(p) { q = p->prox; insereAresta(ativa, p); p = q; } }
void ordenaAET(Aresta *ativa) { Aresta *q, *p = ativa->prox; ativa->prox = NULL; while(p) { q = p->prox; insereAresta(ativa, p); p = q; } }
int main(){ char labirinto[Lin][Col]; int s; int x, y; Grafo *cria_grafo(int nro_vertices, int grau_max); Grafo *gro; gro = cria_grafo(10, 7); insereAresta(gr, 0, 1); insereAresta(gr, 1, 3); removeAresta(gr, 0, 1); Grafo* gr = cria_grafo(5, 5); insereAresta(gr, 0, 1); insereAresta(gr, 1, 3); insereAresta(gr, 1, 2); insereAresta(gr, 2, 4); insereAresta(gr, 3, 0); insereAresta(gr, 3, 4); insereAresta(gr, 4, 1); int vis[5]; /* CriarLabirinto(); s = 1+rand() % Lin-2; Rota(s, 1); labirinto[s][1] = 'T'; //inicio do caminho Imprimir(); x=s; y=1;*/ print_grafo(gr); buscaProfundidade_Grafo(gr, 0, vis); libera_Grafo(gr); return 0; }
void carregaArquivo (TipoGrafo *g) { FILE *f = fopen("/home/marcello/Dropbox/USP/9 Semestre/AED II/EP 1/testeEntrada.txt", "r"); if (f == NULL) { printf("Erro na abertura do arquivo"); } //primeira linha, vertice de partida fscanf(f, "%d", &partida); //printf("Vertice de partida: %d\n", partida); //segunda linda, numero de vertices e arestas fscanf(f, "%d %d", &nVertices, &nArestas); //printf("Numero de vertices: %d\n", nVertices); //printf("Numero de arestas: %d\n", nArestas); //linhas seguintes, insercao de arestas //printf("Grafo:\n"); for(int i = 1; i <= nArestas; i++) { fscanf(f, "%d %d %d", &vertice, &aresta, &peso); insereAresta(vertice, aresta, peso, g); } fclose(f); }