Construa um Grafo com N vértices (definidos pelo usuário, N>4) começando pelo ponto número 1, se o número de vértices for par, alinhe os pontos de forma paralela ao eixo horizontal em duas linhas igualmente espaçadas, sendo uma linha somente de pontos pares e outra somente de pontos ímpares, os pontos devem estar alinhados dois a dois (as linhas devem apresentar o mesmo número de pontos). Se o número de vértices for ímpar, alinhe os pontos em duas colunas paralelas ao o eixo vertical com os pontos igualmente espaçados, neste caso, cada coluna deve ser formada por números pares e ímpares, respectivamente. Para ambos os casos, os pontos de cada linha ou coluna devem ser conectados com os pontos da linha ou coluna contrária, porém sem se conectarem com os pontos da linha ou coluna que pertencem.
Chegamos a este ponto!!
import networkx as nx
n = int(input('\n número de vértices do grafo: '))
if (n <= 4😞 print('\n Ovalor digiotado dever ser maior que 4')
else: if (n % 2) == 0: G = nx.Graph() for n in range(1,n+1😞 G.add_node(n) #adicionando os nós x = 1 y = 1 posicao = {} for (i, k) in zip(list(G.nodes())[::2], list(G.nodes())[1::2]): if i % 2 != 0: #impar posicao[i] = (x, y) if k % 2 == 0: #par posicao[k] = (x, y+0.5) x+=1 print('\n g nodes: ', G.nodes()) print('\n posicao: ', posicao)
for i in G.nodes(): for j in G.nodes(): if (i % 2 == 0) and (j % 2 != 0😞 G.add_edge(i,j) elif (i % 2 != 0) and (j % 2 == 0😞 G.add_edge(i,j) nx.draw_networkx(G,pos=posicao, cmap=plt.get_cmap('jet'), with_labels=True, node_color='y', edge_color='b')
# falta fazer a parte dos vértices impares!!! else:
Pergunta
wilsonavila
Construa um Grafo com N vértices (definidos pelo usuário, N>4) começando pelo ponto número 1, se o número de vértices for par, alinhe os pontos de forma paralela ao eixo horizontal em duas linhas igualmente espaçadas, sendo uma linha somente de pontos pares e outra somente de pontos ímpares, os pontos devem estar alinhados dois a dois (as linhas devem apresentar o mesmo número de pontos). Se o número de vértices for ímpar, alinhe os pontos em duas colunas paralelas ao o eixo vertical com os pontos igualmente espaçados, neste caso, cada coluna deve ser formada por números pares e ímpares, respectivamente. Para ambos os casos, os pontos de cada linha ou coluna devem ser conectados com os pontos da linha ou coluna contrária, porém sem se conectarem com os pontos da linha ou coluna que pertencem.
Chegamos a este ponto!!
import networkx as nx
n = int(input('\n número de vértices do grafo: '))
if (n <= 4😞
print('\n O valor digiotado dever ser maior que 4')
else:
if (n % 2) == 0:
G = nx.Graph()
for n in range(1,n+1😞
G.add_node(n) #adicionando os nós
x = 1
y = 1
posicao = {}
for (i, k) in zip(list(G.nodes())[::2], list(G.nodes())[1::2]):
if i % 2 != 0: #impar
posicao[i] = (x, y)
if k % 2 == 0: #par
posicao[k] = (x, y+0.5)
x+=1
print('\n g nodes: ', G.nodes())
print('\n posicao: ', posicao)
for i in G.nodes():
for j in G.nodes():
if (i % 2 == 0) and (j % 2 != 0😞
G.add_edge(i,j)
elif (i % 2 != 0) and (j % 2 == 0😞
G.add_edge(i,j)
nx.draw_networkx(G,pos=posicao, cmap=plt.get_cmap('jet'), with_labels=True,
node_color='y', edge_color='b')
# falta fazer a parte dos vértices impares!!!
else:
print('\n falta essa parte')
print('\n\n')
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.