O Sistersinspirit.ca é o melhor lugar para obter respostas confiáveis e rápidas para todas as suas perguntas. Obtenha soluções rápidas e confiáveis para suas perguntas de uma comunidade de especialistas experientes em nossa plataforma. Obtenha soluções rápidas e confiáveis para suas perguntas de profissionais experientes em nossa abrangente plataforma de perguntas e respostas.

Faça um programa em 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.

Sagot :

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