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

Programinha Basico, Qual A Melhor Forma De Fazê-lo?


argentino

Pergunta

Então vamos lá, começa com duas matrizes(x e y) de 15 pares de numeros de 1 a 6 (6!2!), 1,2;1,3;1,4....ate 5,6, onde x1=1,2 da primeira matriz e y1=1,2 da segunda, precissamos conferir todos os 15 pares de x em todos de y e gerar uma matriz de ordem quadrada com os respectivos valores encontrados x1 em y1= 2 e x1 em y 2= 1, x1 em y3= 1....fazendo isto passaremos a segunda parte, obrigado e qualquer outra pergunta esta ai meu MSN fabiano-aparecido@hotmail.com e boa sorte.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Olá.

Não entendi muito bem o enunciado do problema.

dúvidas:

- o que seria (2!6!) = 1440?

- esses pares que você cita são os índices das matrizes?

- as matrizes x e y são iguais?

- o que você quer dizer com conferir x em y ?

- acho que dando um exemplo menor ficaria mais claro

Link para o comentário
Compartilhar em outros sites

  • 0

Olá cavotta, suas duvidas

(6!2!) e não (2!6!) dai é o desdobramento numerico de 6 (1,2,3,4,5,6) em 2. (1,2; 1,3; 1,4; 1,5; 1,6; 2,3; 2,4; 2,5; 2,6; 3,4; 3,5; 3,6; 4,5; 4,6; 5,6.) esta seria a primeira "x" e segunda matriz "y" (são iguais sim) onde se confere todos elementos de "x" em todos de "y" gerando a matriz quadrada.(15 verticais e 15 horizontais). O bom seria te enviar uma explicação no excel, posso?Qual email? ou me adciona ai fabiano-aparecido@hotmail.com e feliz 2007.

Link para o comentário
Compartilhar em outros sites

  • 0

Passa o arquivo para mim que eu disponibilizo no meu site e coloco o link aqui: wap@openlink.com.br

Agora, gerar as matrizes não é problema, pelo menos não em Python:

v = 6
m1 = [[x,y] for x in range(1, v+1) for y in range(x+1, v+1)]
m2 = m1[:]

Só não entendi o que você quer fazer depois de gerar as matrizes.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

De qualquer maneira, este pequenino programa em Python faz a tal matriz:

v = 6
m1 = [[x,y] for x in range(1, v+1) for y in range(x+1, v+1)]
m2 = m1[:]
matriz = []

for e1 in m1:
    linha = []
    for e2 in m2:
        tem = 0
        if e1[0] in e2:
            tem += 1
        if e1[1] in e2:
            tem += 1
        linha.append(tem)
    matriz.append(linha)

for i, linha in enumerate(matriz):
    print i+1, linha

Vou tentar fazer uma versão em VB dele.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, fiz agora a versão para VB:

        Dim v As Integer = 6
        Dim x, y, tem As Integer
        Dim m1 As New ArrayList()
        Dim m2 As New ArrayList()
        Dim e1(), e2() As Integer
        Dim linha As ArrayList
        Dim matriz As ArrayList

        For x = 1 To v
            For y = x + 1 To v
                m1.Add(New Integer() {x, y})
            Next
        Next

        m2 = m1.Clone()

        matriz = New ArrayList()
        For Each e1 In m1
            linha = New ArrayList()
            For Each e2 In m2
                tem = 0
                If Array.IndexOf(e2, e1(0)) >= 0 Then
                    tem += 1
                End If
                If Array.IndexOf(e2, e1(1)) >= 0 Then
                    tem += 1
                End If
                linha.Add(tem)
            Next
            matriz.Add(linha)
        Next

        For Each linha In matriz
            For Each valor As Integer In linha
                Debug.Write(valor.ToString() & ", ")
            Next
            Debug.WriteLine("")
        Next

Não ficou tão elegante e nem tão rápida quanto a versão em Python, mas deve dar para dar uma melhorada (pelo menos na performance).

Agora, ao invés de 15 pares você quer gerar 3.268.760 pares? Ou você vai usar 3.268.760 no lugar de 6 valores?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Não rodei o seu prog. ainda, mas este nosso trabslho é sobre os jogos da caixa(lotofacil) conhece? Em um total de 25 dezenas, que se sorteiam 15 dando um total de 3.268.760 combinações possiveis(misturados os numeros de 1 a 25, tipo 1,2,3,4..........ate 15 depois troca o 15 por 16, depois 16 por 17 ate usar todos.Capit. Muita coisa.

Tenho um P4 3.0 COM 2GB DE RAM

HD DE 120 E OUTRO DE 80GB

PLACA ASUS P4S800D-X

DA PRA RODAR BEM NÃO DA? VALEU.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, eu e um amigo uma vez fizemos alguns "estudos" em cima dos resultados anteriores da LotoFácil a fim de verificar se existia algum tipo de padrão. Certa vez fizemos 50 jogos com bases nos "estudos" e ganhamos só R$ 10,00 (ou ainda, perdemos R$ 40,00... :().

Mas, então, você quer usar 25 números (ao invés de 6) tomados 15 a 15 (ao invés de 2 a 2)? E para quê exatamente serve aquela matriz indicando a quantidade de valores comuns entre os dois eixos?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

O ideal seria te explicar no MSN, mas vou tentar aqui, em todo jogo sempre terá um certo numero de cartões premiados.Na lotofacil por ser menos numeros é mais facil de separá-los olhe este cronograma:

5 acertos=3003

6 acertos=50050

7 acertos=289575

8 acertos=772200

9 acertos=1051050

10 acertos=756756

11 acertos=286650

12 acertos=54600

13 acertos=4725

14 acertos=150

15 acertos=1

total é igual ao total de probabilidades(3.268.760)

De 11 pra cima paga premios então total de 11+12+13+14+15 / 3268760 = 9 (chance de acertar onze) só que pra chegar nestes nove cartoes tem que criar tal matriz para depois separar em colunas de premiados e escolher qual premio quer ganhar. Me adciona que te explico melhor, você parece ser bom com este tipo de programa. Vou te mandar outros arquivos de excel com totais de todos os jogos.

Link para o comentário
Compartilhar em outros sites

  • 0

Ao executar o programa e clicar no botão a matriz deve estar sendo mostrada na janela de depuração: http://www.gs.kitbr.com/stuff/immediate.jpg

Quanto a gerar o executável, utilize o menu Build (sendo que não vai adiantar nada, uma vez que as informações mostradas na janela de depuração só servem para tempo de desenvolvimento).

Por favor, concentre-se apenas neste tópico. Não precisa sair espalhando posts em outros tópicos/salas. Isso só atrapalha a você mesmo porque me faz perder tempo apagando seus posts em outros tópicos, enquanto eu poderia estar vendo este aqui.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, tinha achado aquela tela mas não aprece nada, olhe meus passos, abro o vb, escolho create projeto, windows aplication, form1, buton1, double click e colo aquela tela de vb do post.

Talves eu tenha que configurar algo no Vb, pois ainda não criei nada nele. Vou olhar com calma amanha a tarde e a noite devo recorrer dinovo a vocês, muito obrigado.

Quanto tempo levou pra visualizar a matriz?Talves não estou esperando o nescessario.

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, tinha achado aquela tela mas não aprece nada, olhe meus passos, abro o vb, escolho create projeto, windows aplication, form1, buton1, double click e colo aquela tela de vb do post.

Depois disso você não executa o programa? Clicando no botão de play (ou usando a tecla F5)?

Quanto tempo levou pra visualizar a matriz?Talves não estou esperando o nescessario.

Ela começa a aparecer na hora, desde que você *execute* o programa e clique no botão.

Abraços,

Graymalkin

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...