Gracias de antemano!
Código c:
Ver original
#include <stdio.h> #include <stdlib.h> void quicksort (int AcumEtapa[], int inf, int sup) ; int main() { int ciclista, etapa, i; //Guarda en un array el tiempo de cada un de las etapas de cada uno de los ciclistas. int Array_Vuelta[3][5]; for (ciclista=0; ciclista<3; ciclista++){ for (etapa=0; etapa<5; etapa++){ } } int AcumEtapa[3]; int num=0; //Guarda el acumulado del tiempo en cada una de las etapas for (ciclista=0; ciclista<3; ciclista++){ AcumEtapa[num]=0; for (etapa=0; etapa<5; etapa++){ AcumEtapa[num]+=Array_Vuelta[ciclista][etapa]; } num++; } //Muestra el tiempo total de cada ciclista for (i=0; i<3; i++){ } //llama a la funcion quicksort para ordenar los datos quicksort(AcumEtapa, 0, 3); //Muestra el tiempo total de cada ciclista ya ordenado for (i=0; i<3; i++) return 0; } //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// void quicksort (int AcumEtapa[], int inf, int sup) { int elem_div = AcumEtapa[sup]; int temp ; int i = inf - 1, j = sup; int cont = 1; if (inf >= sup) /* Se cruzaron los indices ? */ return; while (cont) { while (AcumEtapa[++i] < elem_div); while (AcumEtapa[--j] > elem_div); /* Se cumple la condicion ? */ if (i < j) { temp = AcumEtapa[i]; AcumEtapa[i] = AcumEtapa[j]; AcumEtapa[j] = temp; } else cont = 0; } /* Dejamos el elemento de divisi¢n en su posici¢n final */ temp = AcumEtapa[i]; AcumEtapa[i] = AcumEtapa[sup]; AcumEtapa[sup] = temp; /* Aplicamos recursivamente a los subAcumEtapas generados */ quicksort (AcumEtapa, inf, i - 1); quicksort (AcumEtapa, i + 1, sup); } //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://