Zaokrąglenie liczby do góry

Zaokrąglenie liczby do góry
ytrewq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
0

Próbuję zrobić program ze spoj-a o nazwie "Obżartuchy" (http://pl.spoj.com/problems/GLUTTON/) i nie wiem, jak zaokrąglić liczbę do góry. Np. jeśli wynik wyjdzie 2, to zostawić 2, ale jeśli wyjdzie powiedzmy 2.1, 2.5, 2.8 lub 3, to wypisać na ekran 3. Jak takie coś zrobić?

VX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
2

Co powiesz na

Kopiuj
#include <cmath>
double ceil( double fValue );
ytrewq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
0

Nie wiem do końca, jak to działa. Zrobiłem sobie program testowy:

Kopiuj
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int a, b;

    cin>>a;
    b=a;
    double ceil(double aValue);
    cout<<"a="<<a<<endl;
    cout<<"b="<<b;
    //if(b-a==0) cout<<a;
    //else cout<<a+1;

    return 0;
}

ale wartość "b" po przecinku też ucina. Dlaczego?

VX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
1

Dopiero zaczynasz tak? double ceil(double aValue) to jest funkcja zawarta w cmath. Double oznacz typ danych.
Kod ma wyglądać tak

Kopiuj
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double a;

    cout << "Wpisz liczbe, ktora mam zaokraglic w gore: ";
    cin >> a;
    cout <<"a=" << ceil(a) << endl;

    return 0;
}
datdata
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 957
1

Poczytaj sobie choć chwilę o tym czym są typy danych i jak się zachowują w języku, w którym chcesz pisać. Ogarnięcie idei funkcji też będzie pomocne.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
printf("%llu\n",(sum+M-1)/M)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.