|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2008
Messaggi: 7
|
[C] Insertion Sort e ira funesta
Buongiorno, dopo attenta analisi e conseguente emicrania non capisco dove abbia sbagliato mi vedo costretto a importunare gente con problemi più seri... vogliate perdonarmi. Dunque, il codice è il seguente
Codice:
int f=0,g=0,h=0,e=0;
for(g=0; g<8; g++)
{for (h=1; h<limiti[g]+1; h++)
{scambio = LimitiComplex[h][g];
for(e=0; e<scambio; e++) app[e] = ProComplex[h][g][e];
for (f=h-1; (f>=0) && (ProComplex[f][g][0] > app[0]); f--)
{
for(e=0; e<scambio; e++) ProComplex[f+1][g][e] = ProComplex[f][g][e];
LimitiComplex[f+1][g]=LimitiComplex[f][g];
}
for(e=0; e<scambio; e++) ProComplex[f+1][g][e] = app[e];
LimitiComplex[f+1][g]=scambio;
}
}
Il vettore limiti è un vettore di 8 posizioni che contiene il numero di righe di ciascuna dimensione, mentre LimitiComplex è una matrice 8x10 contiene il numero di elementi in profondità. Quello che devo fare è semplice. Devo ordinare la matrice lungo le righe, rispetto al valore in testa. L'idea è di usare l'insertion sort su ogni colonna e avere la matrice formattata come mi serve. Inoltre, non basta ordinare la matrice, ma devo anche aggiornare LimitiComplex, in quanto spostando fra di loro le profondità devo anche riposizionare i corretti limiti di profondità. Sfortunatamente il codice che ho scritto non lo fa. E nonostante abbia seguito passo passo diversi debug, non sono venuto a capo del perchè i limiti alla fine non corrispondono più. Se qualcuno volesse provare a capire il mio codice e illuminarmi sul dove sbaglio avrebbe eterna riconoscenza! Grazie!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:16.



















