👤

Scrieti un program care citeste un sir de numere (sirul se termina cu 0 si contine maxim 100 de elemente) si, separat, citeste o valoare. Programul afiseaza elementul din sir care are cea mai apropiata valoare de valoarea introdusa.

Răspuns :

Răspuns:

rezolvarea se foloseste de abs (adica modulul din mate)

Explicație:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   int numere[100], valoare, poz = 0;

   while(1){

       cin >> numere[poz++];

       if(numere[poz - 1] == 0)

           break;

   }

   cin >> valoare;

   int min_distanta = abs(numere[1] - valoare);

   int numar = numere[1];

   for (int i = 1; i < poz; i++)

       if(min_distanta > abs(numere[i] - valoare))

       {

           numar = numere[i];

           min_distanta = abs(numere[i] - valoare);

       }

   cout << numar;

}