TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Código Do Exercício 01 Do Trabalho 01 Da Disciplina Teoria Dos Grafos

Trabalho Universitário: Código Do Exercício 01 Do Trabalho 01 Da Disciplina Teoria Dos Grafos. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  28/9/2014  •  505 Palavras (3 Páginas)  •  406 Visualizações

Página 1 de 3

/***************************************************************************

* Exercício 01 do trabalho 01 da disciplina Teoria dos grafos * *

* Última alteração: 01/05/2014 às 17:52 *

* Autora: Silvia Bortolote Desquiavoni - silviabortolote@gmail.com *

* *

***************************************************************************/

#include<stdio.h>

#include<stdlib.h>

struct vertice {

int qtdEntra;

int qtdSai;

};

typedef struct vertice Vertice;

struct lista {

int ini;

int fim;

struct lista* prox;

};

typedef struct lista Lista;

Lista* inicializa(void) {

return NULL;

}

/* inserção no início: retorna a lista atualizada */

Lista* insere(Lista* l, int ini, int fim) {

Lista* novo = (Lista*) malloc(sizeof(Lista));

novo->ini = ini;

novo->fim = fim;

novo->prox = l;

return novo;

}

/* função imprime: imprime valores dos elementos */

void imprime(Lista* l) {

Lista* p; /* variável auxiliar para percorrer a lista */

for (p = l; p != NULL; p = p->prox)

printf("[%d,%d]\n", p->ini, p->fim);

}

int main() {

FILE *arq = fopen("Itinerarios.txt", "r");

Lista* l; /* declara uma lista não inicializada */

l = inicializa(); /* inicializa lista como vazia */

int numT;

if (arq == NULL) {

printf(" Arquivo inexistente!\n");

} else {

int numeroTerminais, V1, V2;

if (fscanf(arq, "%d", &numeroTerminais) != 1) {

printf(" Arquivo Vazio!\n");

} else {

//printf("O número de terminais existentes são: %d", numeroTerminais);

numT = numeroTerminais;

char c;

while ((c = fgetc(arq)) != EOF) {

ungetc(c, arq);

fscanf(arq, "%d", &V1);

fgetc(arq);

fscanf(arq, "%d", &V2);

l = insere(l, V1, V2);

}

}

if (fclose(arq) == 0) {

//printf("\nArquivo fechado com sucesso!\n");

}

}

//imprime(l);

int cont, qtdIni, qtdFim;

int temComo = 1;

Vertice vetor[numT + 1];

for (cont = 1; cont <= numT; cont++) {

Lista* p; /* variável auxiliar para percorrer a lista */

qtdIni = 0;

qtdFim = 0;

for (p = l; p != NULL; p = p->prox) {

if (p->ini == cont)

...

Baixar como (para membros premium)  txt (3.6 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com