#include <algorithm>
#include <iostream>

struct fecha {
   int dia, mes, año;
};

bool predicado(fecha a, fecha b) {
   if (a.año != b.año) {
      return (a.año < b.año);
   } else if (a.mes != b.mes) {
      return (a.mes < b.mes);
   } else {
      return (a.dia < b.dia);
   }
}

int main( ) {
   fecha arr[5] = {
      { 31, 12, 1995 },
      { 25, 2, 2020 },
      { 1, 1, 2028 },
      { 6, 6, 2006 },
      { 6, 2, 2020 }
   };
   std::sort(&arr[0], &arr[0] + 5, predicado);

   for (int i = 0; i < 5; ++i) {
      std::cout << arr[i].dia << " " << arr[i].mes << " " << arr[i].año << "\n";
   }
}
