Olá,
Como é que eu posso pegar num vetor e verificar qual o numero mais perto do meu. Por exemplo: tenho um vetor com os seguintes numeros: 20, 50, 45, 10, 5, 15.
Como faço para o programa retornar o valor 15 para o numero mais perto do 11?
Vai testando subtraindo seu numero pela posição, o menor resultado é o mais próximo.
como assim?
20 - 11 = 9
50 - 11 = 41
45 - 11 = 34
10 - 11 = -1
5 - 11 = -6
15 - 11 = 4
q lógica vc pode tirar disso?
mas como guardo esses valores de forma a conseguir pegar no mais pequeno?
Você guarda o resultado numa variável. Se o próximo resultado das subtrações for menor que o valor da variável, você atualiza o valor da variável.
e como guardo a posição dele no vetor? preciso dela dps
Imagine que você tenha essa sequência de números no seu vetor:
20
50
45
10
5
15
E você digitou o número 25.
O que você tem que fazer, de forma prática:
Criar uma estrutura de repetição que subtraia o número digitado dos números do vetor.
Assim sendo:
20 - 25 = 5
50 - 25 = 25
45 - 25 = 20
10 - 25 = 15
5 - 25 = 20
15 - 25 = 10
Desconsidere valores positivos e negativos, estamos tratando de "quantas unidades de distância tem entre o número no vetor e o número digitado.
Ao mesmo tempo que você cria essa estrutura, você cria uma variável que vai receber o valor da subtração e outra variavel que vai receber a POSIÇÃO do Array onde está contido o valor que originou a subtração. Isso é uma condição IF, é só pensar um pouquinho que você vai conseguir. Só atualize esses valores se o resultado da subtração for MENOR que o valor da variável que contem o resultado da subtração.