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

ATPS ESTRUTURA DE DADOS

Exames: ATPS ESTRUTURA DE DADOS. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  3/12/2013  •  1.173 Palavras (5 Páginas)  •  389 Visualizações

Página 1 de 5

#include <stdio.h>

#include <stdlib.h>

#define vertice 10

#define aresta 1000

#define true 1

#define false 0

#define MAX_NODES 1024

#define INFINITY 1000000000

typedef float distancia;

typedef struct {

distancia dist[vertice][vertice];

char cidades[10][30];

int numVertices;

int numAresta;

} GRAFO;

typedef struct GRAFO *grafo;

int menu ()

{

}

void Inicializa(GRAFO *g)

{

int i, j;

for (i = 0; i <=11; i++)

for (j = 0; j <=11; j++)

g->dist[i][j] = 0;

}

void montagrafo(GRAFO *g)

{

int i,j,codA, codB;

float dist;

char nome[30];

for (i=0;i<10;i++)

{

printf("Digite o nome da %d cidade: ", i+1);

scanf("%s", g->cidades[i]);

//strcpy(nome, g->cidades[i]);

}

for (j=0;j<aresta;j++)

{

printf("Digite o numero das cidades que possuem ligacao(0 para sair):\nCidade A: ");

scanf("%d", &codA);

if (codA == 0)

{

return;

}

else

{

printf("Cidade B: ");

scanf("%d", &codB);

printf("Digite a distancia entre elas: ");

scanf("%f", &dist);

g->dist[codA-1][codB] = dist;

g->dist[codB-1][codA] = dist;

}

}

}

void imprimegrafo(GRAFO *g)

{

int i, j;

for (i = 0; i <10; i++)

{

if(i==0)

printf("\t1 2 3 4 5 6 7 8 9 10\n",i+1);

if(i<9)

printf(" ");

for (j = 0 ; j <= 10; j++)

{

if (j==0)

printf(" %d ", j+i+1);

else{

printf(" %.1f", g->dist[i][j]);

if (j==10)

printf("\n");

}

}

}

}

void caminhaGrafo (int s, int t, int path[])

{

int n, dist[MAX_NODES][MAX_NODES];

struct state {

...

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