Conectar-se
Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://luizgm.blogspot.com/

[Resolvido]Número mais próximo

em Qui 10 Jan 2013, 17:19
Bem gente, suponhamos que eu tenha uma variável que contenha números de 0 á 180.
Escolhi 3 pontos principais dentro desse valor, por exemplo A=45, B=90, C=180.
A variável pode ter outros valores mas eu quero identificar de qual desses valores (A, B ou C) está mais próximo.
Como faço isso?


Última edição por luiz_100juizo em Qui 10 Jan 2013, 18:19, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : D-D-D-C-C-B
Data de inscrição : 15/03/2012
Número de Mensagens : 564
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuário

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 17:34
perai deixa eu ver se entendi direito... vc quer fazer tipo checar se o numero ex: o numero 30 vc quer checar se ele esta por exemplo no grupo A
se for isso não é dificil na teoria Very Happy tenta assim
if tuavariavel>0 and tuavariavel<45
{
grupo=A
}
if tuavariavel>46 and tuavariavel<90
{
grupo=B
}
if tuavariavel>91 and tuavariavel<180
{
grupo=C
}
acho que é isso cara, espero que tenh entendido Very Happy não sei se vai dar certo, fiz isso na hora não testei, se vc não quer isso ou não deu certo me manda uma mp Very Happy
flw
Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://blogluanmaia.blogspot.com.br/

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 17:53
Acho que seja isso:
Código:

if (abs(var-A) == abs(var-B))
{
//Tão próximo de A quanto de B
}
else if (abs(var-A)<abs(var-B))
{
//Próximo de A
}
else if (abs(var-B)<abs(var-A) and abs(var-B)<abs(var-C))
{
//Próximo de B
}
else if (abs(var-B) == abs(var-C))
{
//Tão próximo de B quanto de C
}
else if (abs(var-C)<abs(var-B))
{
//Próximo de C
}
Substitui var pela variável e as letras pelos valores que disse acima.
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://luizgm.blogspot.com/

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 17:54
Sim é isso, mas agora para complicar mais suponhamos que o número máximo (180) acabasse onde começasse, tipo um circulo. Eu esqueci de dizer isso na pergunta..
Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://blogluanmaia.blogspot.com.br/

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 18:13
Acho que você quis dizer 360. Happy
Mas fica assim, varx é a variável com o valor que vai verificar:
Código:

//Verificar quantas círculos já se formou
var = varx;
for (i=floor(varx/360); i>0; i-=1;) //Verifica quantos círculos completos se formaram antes do valor de varx
{
var -= 360; //Vai subtraindo um círculo até ficar sem nenhum círculo completo
}


//Verificar proximidade
if (abs(var-A) == abs(var-B))
{
//Tão próximo de A quanto de B
}
else if (abs(var-A)<abs(var-B))
{
//Próximo de A
}
else if (abs(var-B)<abs(var-A) and abs(var-B)<abs(var-C))
{
//Próximo de B
}
else if (abs(var-B) == abs(var-C))
{
//Tão próximo de B quanto de C
}
else if (abs(var-C)<abs(var-B))
{
//Próximo de C
}
A variável "var" seria usada somente para fazer a verificação.


Última edição por Luan Maia em Qui 10 Jan 2013, 19:07, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://luizgm.blogspot.com/

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 18:18
Valeu cara, estou fazendo tipo um controle analógico no GMS. Consegui fazer com 8 "pólos".
Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://blogluanmaia.blogspot.com.br/

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 19:15
Interessante, posta para o pessoal ver, quando você terminar. Smile
Fiz uma engine de exemplo para caso alguém algum dia procure pela mesma coisa e ache este tópico.
avatar
Data de inscrição : 21/05/2011
Número de Mensagens : 624
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://gnbr.forumeiros.com

Re: [Resolvido]Número mais próximo

em Qui 10 Jan 2013, 23:18
Tópico trancado, pois a dúvida do autor foi resolvida.
Caso necessites, favor se dirigir à mim ou à qualquer outro moderador para destrancar este seu tópico.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum