#include <algorithm>
#include <iostream>
#include <cmath>

using namespace std;

bool comp(double a, double b)
{
    if (floor(a) < floor(b)) return true;
    else if (floor(a) > floor(b)) return false;
    else return fmod(a,1) > fmod(b,1);
}

int main()
{
    double a[] = {5.3, 6.4, 3.2, 5.1, 5.2 };

    sort(a, a+5, comp);

    for(auto x: a) cout << x << "  ";
}
