ratocuiara Postado Janeiro 30, 2007 Denunciar Share Postado Janeiro 30, 2007 Vamos lá pessoal.Supomos que tenho os seguinte dados na string.numero.asp?centena=1&dezena=2&unidade=3Para recuperar e simplificar eu faço assim:<%centena=request.querystring("centena")dezena=request.querystring("dezena")unidade=request.querystring("unidade")%>Agora o que eu preciso é criar uma miscelânea ou seja criar todas as centenas possiveis com esses numeros.A principio fiz assim.misc1=centena()&dezena()&unidade() = imprime 123misc2=centena()&unidade()&dezena() = imprime 132misc3=dezena()¢ena()&unidade() = imprime 213misc4=dezena()&unidade()¢ena() = imprime 231misc5=unidade()¢ena()&dezena() = imprime 312misc6=unidade()&dezena()¢ena() = imprime 321Até aqui está tudo bem, e funcionando. Porem se a string vier assim:numero.asp?centena=1&dezena=2&unidade=1Ele imprime assim, reparem que os numeros se repetem no 1º e 6º, no 2º e 5º e 3º e 4ºmisc1=centena()&dezena()&unidade() = imprime 121misc2=centena()&unidade()&dezena() = imprime 112misc3=dezena()¢ena()&unidade() = imprime 211misc4=dezena()&unidade()¢ena() = imprime 211misc5=unidade()¢ena()&dezena() = imprime 112misc6=unidade()&dezena()¢ena() = imprime 121O que eu quero é impedir a repetição do numero e reportar em branco onde ocorreria a repetição: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Janeiro 31, 2007 Denunciar Share Postado Janeiro 31, 2007 em vez de fazer misc1, misc2, etc, não seria melhor por num array??ai você faria um for e ia comparando. mais o menos assim:For i = 1 To 5 For j = 0 To i - 1 If misc(i) = misc(j) Then -- se chegar aqui, misc(i) é repetido -- End If NextNext[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ratocuiara Postado Janeiro 31, 2007 Autor Denunciar Share Postado Janeiro 31, 2007 Não ajudou muito, porque não entendo praticamente nada de array. Até procurei alguma informação sobre o assunto, mais não encontrei nada que me esclaresse, se você souber de algum site que eu possa saber mais peço para que poste ai.Fiz assim com os misc1, misc2... porque tenho que insertalos depois em uma tabela. tipo assim:Insert into TabNumero(nu01,nu02,nu03,nu04,nu05,nu06) values ('"& misc1 &"', '"& misc2 &"', '"& misc3 &"', '"& misc4 &"', '"& misc5 &"', '"& misc6 &"')"Essa é a milha linha de pensamento, porem o tópico está aqui, para que deem a melhor idéia possivel para essa função. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marciombl Postado Janeiro 31, 2007 Denunciar Share Postado Janeiro 31, 2007 olá...eu acho que está faltando detalhes do que voc~e quer fazer...exemplo...se você for fazer isto ai que você escreveu é um função modificadora e não um array, mas eu também entendi que o arry resolveria seu ploblema, na verdade fiquei confuso como o moderador, não da para entender o que você está querendo..mas vamos lá...matematicamente falando uma centena for 2 centenas, este é seu caso...bom vamos lá.345 é nossa centena543435neste ponto é morta a centena...não formaria mas nada matematicamente falando, ou sejanumerofator na esquerda....centro...direita...neste caso uma função resoveria seu caso.tipo assim<% Public Function finalizaem(variavel)IF variavel <> "" THEN'divida a variavel por ...left e selecione um a um e coloque na centena, dezena e unidadecentena = 1dezena = 2unidade = 4'depois você faz o que você fez, monta uma forma que matematica mente daria duas centena.'monte aqui mesmo na função o salva no DB individual como você colocou lá.variavel = End Function%>eu acho que neste caso seria mais pratico para você por que você já varia tudo junto na função, criava e salvava no db tudo de uma vez só.bom este é meu ponto de vista, porem o do monitor é valido se você tiver uma ordem de mais numeros tipo varias informações ao mesmo tempo de diferentes origens, tipoinfo1 653info2 879info3 567info4 123neste caso o que vai te salvar é o arry, mas a função bem bolada ajuda você.espero ter ajudado você com o texto.forte abraço. :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Janeiro 31, 2007 Denunciar Share Postado Janeiro 31, 2007 o array é uma variavel com varios indices. como se cada indice fosse uma variavel diferente.exemplo, você pode gravar um valor em misc(0) e outro em misc(1) e outro em misc(2), etc.se você declarar assim:Dim misc(5) As String seu codigo ficaria assim: misc(0)=centena()&dezena()&unidade() = imprime 123misc(1)=centena()&unidade()&dezena() = imprime 132misc(2)=dezena()¢ena()&unidade() = imprime 213misc(3)=dezena()&unidade()¢ena() = imprime 231misc(4)=unidade()¢ena()&dezena() = imprime 312misc(5)=unidade()&dezena()¢ena() = imprime 321[/code] fazendo isso, o codigo que eu passei funcionaria: [code]For i = 1 To 5 For j = 0 To i - 1 If misc(i) = misc(j) Then -- se chegar aqui, misc(i) é repetido -- End If NextNext e você faria o insert assim: Insert into TabNumero(nu01,nu02,nu03,nu04,nu05,nu06) values ('"& misc(0) &"', '"& misc(1) &"', '"& misc(2) &"', '"& misc(3) &"', '"& misc(4) &"', '"& misc(5) &"')" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ratocuiara Postado Janeiro 31, 2007 Autor Denunciar Share Postado Janeiro 31, 2007 Obrigado a todos que se empenharam em me ajudar neste tópico.A idéia do Kuroi foi aproveitada, valeu. o código ficou assim: <% centena=request.QueryString("centena") dezena=request.QueryString("dezena") unidade=request.QueryString("unidade") %> <% Dim misc(5) misc(0)=centena&dezena&unidade misc(1)=centena&unidade&dezena misc(2)=dezena¢ena&unidade misc(3)=dezena&unidade¢ena misc(4)=unidade¢ena&dezena misc(5)=unidade&dezena¢ena For i= 0 to 5 For j = 0 To i - 1 If misc(i) = misc(j) Then misc(i)="" End If Next Next Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ratocuiara Postado Janeiro 31, 2007 Autor Denunciar Share Postado Janeiro 31, 2007 Agora é o seguinte como eu faço pra contar o numero de centenas criados.ou seja:Se eu tiver os numeros 123 ele criará 6 centenas, resgatar 6Se eu tiver os numeros 112 ele criará 3 centenas, resgatar 3 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 1, 2007 Denunciar Share Postado Fevereiro 1, 2007 os indices do array misc que não tem centenas criadas estao em branco certo??então é so fazer outro for que conte quais os indices que não estao em branco, beleza?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ratocuiara Postado Fevereiro 1, 2007 Autor Denunciar Share Postado Fevereiro 1, 2007 Entendi sua mensagem honorável Guru Kuroi:o código ficou assim:<% centena=request.QueryString("centena") dezena=request.QueryString("dezena") unidade=request.QueryString("unidade") Dim misc(5) misc(0)=centena&dezena&unidade misc(1)=centena&unidade&dezena misc(2)=dezena¢ena&unidade misc(3)=dezena&unidade¢ena misc(4)=unidade¢ena&dezena misc(5)=unidade&dezena¢ena For i= 0 to 5 For j = 0 To i - 1 If misc(i) = misc(j) Then misc(i)=" " End If Next Next function contar() Dim cont(5) cont(0)=replace(misc(0)," ","0") cont(1)=replace(misc(1)," ","0") cont(2)=replace(misc(2)," ","0") cont(3)=replace(misc(3)," ","0") cont(4)=replace(misc(4)," ","0") cont(5)=replace(misc(5)," ","0") For n= 0 to 5 If cont(n)<>"0" then cont(n)="1" end if Next contar=cdbl(cont(0))+cdbl(cont(1))+cdbl(cont(2))+cdbl(cont(3))+cdbl(cont(4))+cdbl(cont(5)) end function %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ratocuiara
Vamos lá pessoal.
Supomos que tenho os seguinte dados na string.
Para recuperar e simplificar eu faço assim:
Agora o que eu preciso é criar uma miscelânea ou seja criar todas as centenas possiveis com esses numeros.
A principio fiz assim.
Até aqui está tudo bem, e funcionando. Porem se a string vier assim:
Ele imprime assim, reparem que os numeros se repetem no 1º e 6º, no 2º e 5º e 3º e 4º
O que eu quero é impedir a repetição do numero e reportar em branco onde ocorreria a repetição:
Link para o comentário
Compartilhar em outros sites
8 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.