come esercizio ho avuto il compito di creare un programma che memorizzi in una matrice i tempi di ogni tappa di ciclismo (una tappa alla volta) e di ordinare in ordine crescente gli atleti secondo il tempo totale migliore.
ho scritto questa funzione basata sul bubble sort che "dovrebbe" ordinare il tutto solo che quando mando in esecuzione il programma, tutto rimane come prima:
La matrice è impostata nel seguente modo: atleti(righe) - gare(colonne).
codice:
void ordina(string na[], int tp[][gare])
{
int i;
bool fatto;
do
{
fatto = false;
for(i = 0; i < atleti - 1; i++)
{
if(tp[i][gare] > tp[i + 1][gare])
scambio(tp, i);
}
}while(fatto);
return;
}
void scambio(int mat[][gare], int a)
{
int aux[gare];
int i;
for(i = 0; i < gare; i++)
aux[i] = mat[a][i];
for(i = 0; i < gare; i++)
mat[a][i] = mat[a + 1][i];
for(i = 0; i < gare; i++)
mat[a + 1][i] = aux[i];
return;
}
grazie dell'aiuto...