Ir ao conteúdo
  • Cadastre-se

C Determinar o número mais próximo de zero


Posts recomendados

Olá pessoal, estou fazendo um programa que pede a latitude e longitude de uma pessoa, e o programa determina qual o supermercado mais próximo a ela (as coordenadas de 3 supermercados já estão inseridas no programa). A lógica matemática eu já consegui desenvolver: eu dividi a latitude pela longitude de cada mercado e isso me deu um valor que é subtraído pelo valor da divisão da latitude pela longitude inserido pelo usuário. Desse modo, ficou determinado que o valor mais próximo de Zero é o mais próximo da pessoa.

O meu problema é na hora de determinar qual é o supermercado mais próximo da pessoa.

 

Exemplo supondo uma linha no eixo X que vai de menos infinito a mais infinito: 

Mercado 01 - ponto 1

Casa da pessoa - ponto 1.3

Mercado 02 - ponto 2

Mercado 03 - ponto 3

Aqui, o mercado mais próximo da pessoa é o Mercado 01, que está há 0.3 metros de sua casa, em relação ao Mercado 02, que está há 0.7 e ao Mercado 03, que está há 1.7 metros.

 

Minha única dúvida é (se tiver como), comparar os 3 valores e determinar o valor mais próximo do já estabelecido.

 

 

 

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Por exemplo, dependendo da estrutura de dados que você for utilizar, você pode procurar o menor valor. No caso de um vetor, você percorre buscando o menor elemento, que seria a menor distância, e substituindo quando for encontrado outro elemento menor que o já registrado anteriormente.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

***[ Olá, sou estudante de Ciências-Física, e tenho dialeto C ANSI como hobby, C'hobby rsrs!

      Meu contato com C/Python foi na matéria Introdução à Computação. ]

 

 

No geral usa-se vetores, mas como no seu caso são apenas três números, eu uso uma função que retorne o menor valor de dois valores reais.

 

C0: Para determinar o menor valor de 2 valores, basta basta implementar um operação ternária ...

float menor (float a, float b){
  if (a < b){ return a; }
  return b;
}

 

E0: conforme acima, primeiro resolve-se a e b, do resultada dessas vem a comparação com c, por fim a função mais externa retorna para variável m_abc o menor valor dos três valores a, b e c.

float m_abc;
m_abc = menor (menor (a, b), c);

 

 

Dúvidas, perguntas ou sugestões?

 

 

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...