Leitura de arquivo texto em c++

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (566 palavras )
  • Download(s) : 0
  • Publicado : 24 de junho de 2012
Ler documento completo
Amostra do texto
# define MaxNumVertices 100
# include
# include
//# include

typedef char elem;

typedef struct no_lst
{
int v;
elem peso;
struct no_lst *prox, *fim;} no_lista;

typedef struct
{
no_lista *inicio;
int valor;
} no_vertice;

typedef struct
{
no_vertice LAdj[MaxNumVertices + 1];
int NumVertices;} Grafo;

/* função que inicializa um grafo com um determinado número de vértices dado pelo usuário */

void criar(Grafo *G, int NumVertices, int *erro)
{
if (NumVertices > MaxNumVertices)*erro = 1;
else
{
*erro = 0;
no_lista *p;
G->NumVertices = NumVertices;
int i;
for (i=1;iNumVertices;i++)
{G->LAdj[i].inicio = NULL;
}
// G->LAdj[i+1].inicio = NULL;
}
}


void inserir(Grafo *G, int v1, int v2, elem Peso, int *erro)
{
if((v1 > G->NumVertices) ||(v2 > G->NumVertices))
*erro = 1;
else
{

*erro = 0;
no_lista *p;
G->LAdj[v1].valor = v1;
p = (no_lista*)malloc(sizeof(no_lista));
p->prox = G->LAdj[v1].inicio;
p->v = v2;
p->peso = Peso;
G->LAdj[v1].inicio = p;
G->LAdj[v2].valor = v2;
p = (no_lista*)malloc(sizeof (no_lista));
p->prox = G->LAdj[v2].inicio;
p->v = v1;
p->peso = Peso;
G->LAdj[v2].inicio = p;
}
}

/*função que verifica se umaaresta existe entre 2 vértices*/

int existe(Grafo *G, int v1, int v2, int *erro)
{
if((v1 > G->NumVertices) || (v2 > G->NumVertices))
{
*erro = 1;
return 0;
}
else{
*erro = 0;
int encontrou = 0;
no_lista *aux = G->LAdj[v1].inicio;
while ((aux!=NULL) && (!encontrou))
if (aux-> v == v2)
encontrou =...
tracking img