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");
}
Example #2
0
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);
}
Example #3
0
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;
  }
}
Example #4
0
void ordenaAET(Aresta *ativa)
{
  Aresta *q, *p = ativa->prox;

  ativa->prox = NULL;
  while(p)
  {
    q = p->prox;
    insereAresta(ativa, p);
    p = q;
  }
}
Example #5
0
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;
}
Example #6
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);
}