👤

Cum sa rotunjez un numar real la cel mai apropiat intreg al sau? in C++

Răspuns :

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
    float real;
   
    cin >> real;
   
    if(real - floor(real) > 0.5) cout << ceil(real);
    else cout << floor(real);

    return 0;
}

Daca nu iti place floor sau ceil poti folosi varianta cu (int) inaintea numarului cu + 1 sau fara.


float a, f;
int b, r;
cin>>a;
b=a;//aici luam partea intreaga a lui a si o punem in b
f=a-b;//aici luam partea fractionara a numarului
if(f<0.5){ //e mai mica de 0.5
    r = a; //nr rotunjit este partea intreaga
}else{ //Daca nu este mai mic decat 0.5(adica este mai mare sau egal cu 0.5)
    r = a+1; //nr rotunjit este partea intreaga+1
}

cout<<r;