Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

master_exploder

O grafo não tá compilando

Recommended Posts

void cria_arco(ptr_vert vertice)

{

ptr_arco aux1_arco, aux2_arco;

ptr_vert aux1_vert = vertice, aux2_vert = vertice;

char vert_entrada, vert_saida;

float dado;


printf("insira o vertice que sai o arco: ");

scanf_s("%c", &vert_saida);

getchar();

printf("insira o vertice que entra o arco: ");

scanf_s("%c", &vert_entrada);

getchar();


aux1_vert = procura_vertice(aux1_vert, vert_entrada);

aux2_vert = procura_vertice(aux2_vert, vert_saida);


if ((aux1_vert || aux2_vert) == NULL)

{

printf("\n\nVertice nao encontrado\n\n");

}

else

{

aux1_arco = (arcos_do_grafo*)malloc(sizeof(arcos_do_grafo));


if (aux1_arco == NULL)

{

printf("Sem memoria disponivel!\n");

exit(1);

}


aux1_arco->prox = NULL;


printf("Insira o tamanho do arco: ");

scanf_s("%f", &dado);


aux1_arco->tamanho_arco = dado;

aux1_arco->vertice_entrada = vert_entrada;


aux2_arco = aux2_vert->prox1; //O PROBLEMA ACONTECE AQUI, O DEPURADOR DIZ QUE aux2_vert É nullptr

aux1_arco->prox = aux2_arco;

aux2_vert->prox1 = aux1_arco;

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

if ((aux1_vert || aux2_vert) == NULL) -> Se aux1_vert foi alocado corretamente mas aux2_vert é nulo, esse if continua sendo falso.

E cadê o código do procura_vertice? O que acontece se aux2_vert for NULL antes de você referenciar? Ele não foi alocado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.