👤

Fişierul text bac.txt conţine pe fiecare linie câte un număr întreg format din cel mult patru cifre. Se ştie că fişierul conţine cel puţin un număr.
Scrieţi un program eficient atât din punct de vedere al timpului de executare cât şi din punct de vedere al spaţiului de memorie utilizat, care citeşte de la tastatură un număr real x, apoi determină şi afişează acel număr din fişierul bac.txt care are valoarea cea mai apropiată
de valoarea lui x.

Exemplu: dacă fişierul bac.txt are conţinutul alăturat, iar de la tastatură se
citeşte valoarea -3.85, programul va afişa valoarea -5.
4
-5
-6
-984
1345
-1


Răspuns :

Răspuns:

#include <iostream>

#include <cmath>

#include <fstream>

using namespace std;

ifstream f("bac.txt");

float x;

int num, apropiat;

int main()

{

   cin >> x;

   f >> num;

   float difmin=abs(num-x), dif;

   apropiat=num;

   while (f >> num)

   {

       dif=abs(num-x);

       if (dif<difmin)

       {

           difmin=dif;

           apropiat=num;

       }

   }

   cout << apropiat;

}

Explicație:

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari