Jump to content


Photo

Busca Em Array


  • Faça o login para participar
1 reply to this topic

#1 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 25/07/2005, 13:12

Matriz[0] = "H"
Matriz[1] = "T"
Matriz[2] = "T"
Matriz[3] = "H"
Matriz[4] = "T"
Matriz[5] = "H"

Bom, eu teria um Array de 6 posições como acima... Então eu precisaria armazenar em outra Array, todas as posições de "Matriz" que tenham a letra "H"..

Ou seja:

OutraArray[0] = 0
OutraArray[1] = 3
OutraArray[2] = 5

Entendeu?
Eduardo Batista

#2 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 25/07/2005, 17:25

Ôpa.. Tudo bom?

Kra.. Este é um problema simples de algoritmo. Tendo um pouquinho mais de prática com a linguagem, é só ficar alguns minutinhos pensando numa solução e mandar ver! Seria legal se vc tivesse tentado, pois assim vc adquire cada vez mais experiência com a linguagem.

Mas... Já que ainda não postou nada falando que já resolveu e como eu gosto mto de fazer estes pequenos códigos, lá vai...

function arrPosInArr(arrBusca,strBusca) {
    var arrFinal=new Array();
    for(var i=0,j=0;i<arrBusca.length;i++) if(arrBusca[i]==strBusca) arrFinal[j++]=i;
    return arrFinal;
}

Nem testei o código, mas acho que isto resolve. Para o exemplo que vc citou, bastaria chamar esta função desta forma:

OutraArray=arrPosInArray(Matriz,'H');

O que a função faz? Lá vai...
Crio um array temporário chamado arrFinal. É nele que vai ficar o resultado. O procedimento é simples:

Para cada item dentro do array de busca, verifica se este item é igual à string de busca. Se for igual, armazena o índice dentro da variável arrFinal. As variáveis "i" e "j" servem para percorrer os índices dos arrays arrBusca e arrFinal, respectivamente. "i" faz com que dentro do loop FOR a gente pesquise em todas as posições do array de busca. "j" começa em zero e toda vez que a gente joga um valor encontrado dentro do array arrFinal, a gente incrementa "j" pra saber qual é o próximo índice a ser usado da variável arrFinal.

Espero ter ajudado!

Qualquer dúvida, é só perguntar!

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq