Ir para conteúdo
Fórum Script Brasil
  • 0

Organizar 9 Rodadas


ramon

Pergunta

To numa broca aqui

Não to conseguindo organizar uma rodada de jogos para colocar num form

Tipo tenho 10 nomes de clubes alocado numa matriz, porem não to conseguindo fazer um esquema para criar as rodadas

1 Gremio

2 Inter

3 São Paulo

4 Palmeiras

5 Corinthians

6 Bahia

7 Santos

8 Flamengo

9 Coritiba

10 Juventude

Cada time jogara 9 jogos

Teremos 5 rodadas

Resultando em 45 jogos

1x10

2x9

3x8

4x7

5x6

Bom minha duvida ta em como criar esta rodada? sad.gif

alguém tem uma ideia ou exemplo simples?

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Quanto à simples rodada, ou seja uma, eu fiz assim:

Dim times(9) As String
Private Sub Form_click()
times(0) = "Gremio"
times(1) = "Inter"
times(2) = "São Paulo"
times(3) = "Palmeiras"
times(4) = "Corinthians"
times(5) = "Bahia"
times(6) = "Santos"
times(7) = "Flamengo"
times(8) = "Coritiba"
times(9) = "Juventude"
For i = 1 To 9
If i <> 9 Then
Print times(i) & " X " & times(i + 1)
Else
Print times(9) & " X " & times(0)
End If
Next i
End Sub

Só que cada time joga duas vezes... dry.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Resposta para a rodada única:

Dim times(9) As String
Private Sub Form_click()
times(0) = "Gremio"
times(1) = "Inter"
times(2) = "São Paulo"
times(3) = "Palmeiras"
times(4) = "Corinthians"
times(5) = "Bahia"
times(6) = "Santos"
times(7) = "Flamengo"
times(8) = "Coritiba"
times(9) = "Juventude"
For i = 0 To 4
If i = 0 Then
Print times(i) & " X " & times(9)
ElseIf i <> 0 Then
Print times(i) & " X " & times(9 - i)
End If
Next i
End Sub

Esse é um exemplo legal pra fazer o resto do campeonato, creio que voce possa repetir o código alterando a subtração no campo do adversário e caso surjam erros, é fácil corrigi-los. Se precisar de ajuda no do campeonato pode falar que eu vou fazer o possivel para ajudar. wink.gif

Abraços

Rodrigo

Link para o comentário
Compartilhar em outros sites

  • 0

Você quer que o programa gere os 45 jogos? Tipo: Grêmio x Corinthians, Bahia x Coritiba, etc. ?

Graymalkin

Exatamente

Fiz um calendario onde eu quero que apareca somente os 9 jogos que o time vai jogar e não todos 45

Mas porem quero armazenar os 45 jogo em uma matriz

Tipo

escolho Gremio vai aparecer somente 9 jogos para este time

escolho Corinthians vai aparecer somente 9 jogos para este

Então ficaria uma matriz bidimensional

Calendario(9, 8)

Onde no 1 indice armazenaria os times e no segundo os adversarios

Porem surge a duvida de como fazer este sitema para organizar as rodadas de cada time

No calendario do gremio

Calendario(0, 1)

no indice 0 Gremio na segunda coluna Santos

então Gremio x Santos

Vou visualizar o calendario do Santos

calendario(4, 0)

Santos x Gremio

porem o jogo não confere pois no calendario do gremio esta Gremio x santos

gremio joga em casa

no calendario do santos esta santos x gremio

santos joga em casa

Teria que estar neste calendario o santo jogando fora

Ai que ta a minha duvida? sad.gif

Bom aproveitando isto então resolvi fazer turno e returno porem ai complicou mais ainda a minha cuca

Ai seria 90 jogos

18 rodadas

alguém bom em matematica poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0
Resposta para a rodada única:

Dim times(9) As String
Private Sub Form_click()
times(0) = "Gremio"
times(1) = "Inter"
times(2) = "São Paulo"
times(3) = "Palmeiras"
times(4) = "Corinthians"
times(5) = "Bahia"
times(6) = "Santos"
times(7) = "Flamengo"
times(8) = "Coritiba"
times(9) = "Juventude"
For i = 0 To 4
If i = 0 Then
Print times(i) & " X " & times(9)
ElseIf i <> 0 Then
Print times(i) & " X " & times(9 - i)
End If
Next i
End Sub

Esse é um exemplo legal pra fazer o resto do campeonato, creio que voce possa repetir o código alterando a subtração no campo do adversário e caso surjam erros, é fácil corrigi-los. Se precisar de ajuda no do campeonato pode falar que eu vou fazer o possivel para ajudar. wink.gif

Abraços

Rodrigo

Beleza aragorn13

Eu tava postando e você postou antes que eu postase biggrin.gif

Vou olhar o seu codigo, porem não sei se vai dar de uma olhada no meu tópico acima sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Quando à uma matriz, com o indice dos times, sem probs, dá pra fazer, mas aí tem que botar uma opção pra selecionar time etc né? Quanto ao turno e returno, ai complica pra mim. dry.gif pois apesar deu só ter que inverter, o código ficaria enorme. É isso que voce quer?

Se voce não conseguir, posta aqui!

Deu certo usando o meu codigo?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Sim aragorn13 seu código deu certo

mas Veja só pessoal

Resolvi diminuir os times para ficar menor

São 4 times cada um jogara com os 3

Private Sub Command1_Click()
Dim Times(10, 10) As String


'Calendario gremio
Times(0, 0) = "GREMIO"

Times(0, 1) = "juventude"
Times(0, 2) = "coritiba"
Times(0, 3) = "flamengo"

'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "juventude"
Times(1, 2) = "coritiba"
Times(1, 3) = "gremio"


'Calendario coritiba
Times(2, 0) = "CORITIBA"

Times(2, 1) = "flamengo"
Times(2, 2) = "gremio"
Times(2, 3) = "juventude"


'Calendario juventude
Times(3, 0) = "JUVENTUDE"

Times(3, 1) = "gremio"
Times(3, 2) = "flamengo"
Times(3, 3) = "coritiba"


For A = 0 To 3
   For B = 1 To 3
   Debug.Print Times(A, 0) + " X " + Times(A, B)

Next B
Debug.Print "****************"
Next A

End Sub
Este codigo resultara em

GREMIO X juventude
GREMIO X coritiba
GREMIO X flamengo
****************
FLAMENGO X juventude
FLAMENGO X coritiba
FLAMENGO X gremio
****************
CORITIBA X flamengo
CORITIBA X gremio
CORITIBA X juventude
****************
JUVENTUDE X gremio
JUVENTUDE X flamengo
JUVENTUDE X coritiba
****************

O calendario do flamengo tem ....1°jogo deles

FLAMENGO X juventude

Porem se você visualizar o calendari do juventude o 1° jogo dele será

JUVENTUDE X gremio

Ai que to quebrando a cabeca sad.gif

Eu to tentando organizar os jogos na matriz antes que eles aparecam?

E ai será que tem solução???

Aonde sera que eu to errando? wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "juventude"
Times(1, 2) = "coritiba"
Times(1, 3) = "gremio"
Troque por...
'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "coritiba"
Times(1, 2) = "flamengo"
Times(1, 3) = "gremio"

Acho que é isso...O erro está na organização dos jogos do flamengo.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Falei errado ramon foi mal. sad.gif

Era isso:

'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "juventude"
Times(1, 2) = "coritiba"
Times(1, 3) = "gremio"
Troque por...
'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "coritiba"
Times(1, 2) = "juventude"
Times(1, 3) = "gremio"
No meu aqui ta dando o seguinte:
GREMIO X juventude GREMIO X coritiba GREMIO X flamengo *************************** FLAMENGO X coritiba FLAMENGO X juventude FLAMENGO X gremio *************************** CORITIBA X flamengo CORITIBA X gremio CORITIBA X juventude *************************** JUVENTUDE X gremio JUVENTUDE X flamengo JUVENTUDE X coritiba
É isso que voce quer né? o código ficou assim:
Private Sub Command1_Click()
Dim Times(10, 10) As String


'Calendario gremio
Times(0, 0) = "GREMIO"

Times(0, 1) = "juventude"
Times(0, 2) = "coritiba"
Times(0, 3) = "flamengo"

'Calendario flamengo
Times(1, 0) = "FLAMENGO"

Times(1, 1) = "coritiba"
Times(1, 2) = "juventude"
Times(1, 3) = "gremio"


'Calendario coritiba
Times(2, 0) = "CORITIBA"

Times(2, 1) = "flamengo"
Times(2, 2) = "gremio"
Times(2, 3) = "juventude"


'Calendario juventude
Times(3, 0) = "JUVENTUDE"

Times(3, 1) = "gremio"
Times(3, 2) = "flamengo"
Times(3, 3) = "coritiba"


For A = 0 To 3
  For B = 1 To 3
  Debug.Print Times(A, 0) + " X " + Times(A, B)

Next B
Debug.Print "****************"
Next A

End Sub

Abraços,

Rodrigo

Link para o comentário
Compartilhar em outros sites

  • 0

Agora sim funcionou do jeito que eu queria biggrin.gif

Valeu aragorn13

Então eu devo estar errando na organização dos times. tongue.gif

Bom se funcionou com 4 times terá que funcionar com 10 times.

Agora eu vou procurar aonde que eu to errando no meu projeto que contem 10 times wink.gif

Brigadão aragorn13 cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Agora sim funcionou do jeito que eu queria biggrin.gif

Valeu aragorn13

Então eu devo estar errando na organização dos times. tongue.gif

Bom se funcionou com 4 times terá que funcionar com 10 times.

Agora eu vou procurar aonde que eu to errando no meu projeto que contem 10 times wink.gif

Brigadão aragorn13 cool.gif

De nada brother.

Abraços

Rodrigo

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...