Faça um programa em C ou C++ para ler um vetor B de 10 elementos inteiros e um valor X.
Em seguida escreva o valor pertencente a B que for mais próximo de X.
Respostas
Resposta:
#include <stdio.h>
#include <locale.h>
int main() {
//Insere os caracteres do português
setlocale(LC_ALL, "Portuguese");
int b[10], diferenca[10], x;
//Recebe X
printf("Valor de X: ");scanf("%d",&x);
//Recebe 10 Valores e vê a diferença entre os números.
for (int i=0;i<10;i++){
printf("Valor(%d): ",i+1);scanf("%d",&b[i]);
if (x>b[i]){
diferenca[i]=x-b[i];
}
else {
diferenca[i]=b[i]-x;
}
}
//Verifica os valores, salva o menor e o indice
int menor = diferenca[9], indice;
for (int j=0;j<10;j++){
if (menor>diferenca[j]) {
menor=diferenca[j];
indice=j;
}
}
//Imprime o menor
printf("Valor mais próximo de x>> %d\n", b[indice]);
return 0;
}
---------------------------------------------------------------------
OUTPUT:
Valor de X: 10
Valor(1): 11
Valor(2): 12
Valor(3): 13
Valor(4): 14
Valor(5): 15
Valor(6): 16
Valor(7): 17
Valor(8): 18
Valor(9): 19
Valor(10): 20
Valor mais próximo de x>> 11