Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

apenasestudando

Caracteres repetidos

Recommended Posts

tava passeando aqui pelo fórum, e o bom dos passeios é que agente sempre aprende alguma coisa..rs olhem o código q achei aqui.

 

ASP

[*]<%

 

[*]dim Texto, Cont

 

[*]Texto "oi eu to aki e aaa"

 

[*]cont = 0

 

[*]Caracter LEFT(Texto,1)

 

[*]for i = 1 to len(Texto)

 

[*]If Mid(Texto,i,1)= Caracter then

 

[*]cont = cont + 1

 

[*]End if

 

[*]Caracter Mid(Texto,i,1)

 

[*]next

 

[*]response.Write (Caracter) & "<br>"

 

[*]response.write "O texto tem" & " " & cont & " repetições."

 

[*]%>

 

entretanto nao entendi como o for verifica o a como caracterer repetido.....alguém poderia dar uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na variavel caracter e ele grava a ultima letraCaracter = Mid(Texto,i,1)e na proxima passagem do for ele compara a letra atual com a anterior que você gravou na linha acima mostradaIf Mid(Texto,i,1)= Caracter then

Compartilhar este post


Link para o post
Compartilhar em outros sites

na variavel caracter e ele grava a ultima letra

 

Caracter = Mid(Texto,i,1)

 

e na proxima passagem do for ele compara a letra atual com a anterior que você gravou na linha acima mostrada

 

If Mid(Texto,i,1)= Caracter then

<{POST_SNAPBACK}>

Mas porque isso?

 

Caracter = LEFT(Texto,1)

 

no caso a variável Caracter usa o left, daí fica assim?

 

Texto = "oi eu to aki e aaa" = Texto "o" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem não tenho como testar aqui mas vou dizer o que penso, mas posso estar erradose for assim com o caracter recebendo a primeira letra o I do for deveria começar de 2 senão ja coloca uma repetição de forma erradaCaracter = LEFT(Texto,1)for i = 1 to len(Texto)acho que deveria serCaracter = LEFT(Texto,1)for i = 2 to len(Texto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o for faz isso?

 

ASP

[*]<%

 

[*]dim Texto, Cont

 

[*]Texto "oi eu eeee to "

 

[*]cont = 0

 

[*]Caracter LEFT(Texto,1)

 

[*]for i = 2 to len(Texto)

 

[*]If Mid(Texto,i,1)= Caracter then

 

[*]cont = cont + 1

 

[*]End if

 

[*]Caracter Mid(Texto,i,1)

 

[*]next

 

[*]response.Write (Caracter) & "<br>"

 

[*]response.write "O texto tem" & " " & cont & " repetições."

 

[*]%>

 

no caso o for percorre o texto de oi até e certo?

 

2º laço = i <> o

3º laço = e <> i

4º laço = u <> e

5º laço = e <> u

6º laço = e = e Then conta 1

7º laço = e = e Then conta 2

8º laço = e = e Then conta 3

9º laço = t <> o

...

 

 

é assim mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é assim mesmono caso da expressão: "oi eu to aki e aaa" , ele verificou a repetição seguida do mesmo caractere "a" e contou +1 ( 3 vezes )o Caracter = LEFT(Texto,1) serve pro script pegar a primeira letra contida na variável Texto (no caso a letra "o"), para fazer a comparação com a segunda letra da mesma variávelps.: se você trocar a frase pra "oo eu to aki e aaa" , ele vai te retornar 5 repetições

Compartilhar este post


Link para o post
Compartilhar em outros sites

o for faz isso?

 

no caso o for percorre o texto de oi até e certo?

 

2º laço = i <> o

3º laço = e <> i

4º laço = u <> e

5º laço = e <> u

6º laço = e = e Then conta 1

7º laço = e = e Then conta 2

8º laço = e = e Then conta 3

9º laço = t <> o

...

 

 

é assim mesmo?

exato acho que começando do segundo caractere funciona legal, você tentou usar começando do 1 como tava antes??? contou uma repeticao a mais né??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.