/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, C#, OCaml, VB, Perl, Swift, Prolog, Javascript, Pascal, COBOL, HTML, CSS, JS Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include struct rep_fecha { unsigned int d; unsigned int m; unsigned int a; }; typedef rep_fecha* TFecha; // Devuelve true si f1 es anterior a f2, false en otro caso bool comparar_fechas(TFecha f1, TFecha f2) { if (f1->a < f2->a || (f1->a == f2->a && f1->m < f2->m) || (f1->a == f2->a && f1->m == f2->m && f1->d < f2->d)) return true; else return false; } int main() { unsigned int n = 3; TFecha fechas[n]; fechas[0] = new rep_fecha{10, 10, 2022}; fechas[1] = new rep_fecha{15, 5, 2022}; fechas[2] = new rep_fecha{20, 11, 1992}; int i, j, min_idx; for (i = 0; i < n - 1; i++) { min_idx = i; for (j = i + 1; j < n; j++) { if (comparar_fechas(fechas[j], fechas[min_idx])) min_idx = j; } TFecha aux = fechas[min_idx]; fechas[min_idx] = fechas[i]; fechas[i] = aux; } for (unsigned int i = 0; i < n; i++) { printf("%d/%d/%d\n", fechas[i]->d, fechas[i]->m, fechas[i]->a); delete fechas[i]; // Liberar memoria asignada dinĂ¡micamente } return 0; }