Jump to content
Fórum Script Brasil
  • 0

Problema de grafos, para ser feito em Python. Fizemos uma parte, mas não sai a outra!!!


wilsonavila

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...