Ciao a tutti
Cerchero' di spiegare quale e' il mio caso, con un esempio concreto. Spero che sappiate aiutarmi e/o indirizzarmi verso la soluzione
Suddivido un cubo in n*n*n=n3 cubetti, tutti uguali. Ad esempio, con n=5 ottengo 125 cubetti. Ciascun cubetto e' univocamente identificato dal valore dei suoi indici i,j,k, ovvero e' un elemento di una matrice 5*5*5. Associo una certa informazione ai cubetti, producendo il seguente file di output:
2 2 0 39.7859 -43.25 0. 0.
2 2 1 48.8834 -35.25 0. 0.
2 2 2 74.1863 -27.25 0. 0.
2 2 3 36.7781 -19.25 0. 0.
2 2 0 0.366242 -43.25 0. 0.
2 2 0 38.0836 -43.25 0. 0.
2 2 1 48.121 -35.25 0. 0.
Gli ultimi 3 numeri sono la posizione del cubetto in un dato sistema di riferimento. Come si vede, di tutti i possibili 125 cubetti, alcuni cubetti non vengono coinvolti: nell'output sono presenti solo 4 cubetti: 2 2 0, 2 2 1, 2 2 2, 2 2 3. Di questi, alcuni sono presenti piu' volte.
Quello che devo fare e' elaborare il file di output in modo da ottenere una lista dei cubetti (senza ripetizioni), associando a ciascun cubetto della lista la somma dell'informazione, cioe', facendo riferimento all'esempio di sopra:
2 2 0 (39.7859+0.366242+38.0836) -43.25 0. 0.
2 2 1 (48.8834+48.121) -35.25 0. 0.
2 2 2 74.1863 -27.25 0. 0.
2 2 3 36.7781 -19.25 0. 0.
Ho dato un'occhiata al forum e su web, cercando secondo la parola chiave "ordinamento", ma non sono riuscita a dissolvere i miei dubbi. Ho provato a immaginare l'intero file di output di partenza come una matrice bidimensionale h*m, con h=numero di righe che costituiscono il file (nell'esempio h=7) e m=numero di colonne (nell'esempio m=7). Certamente, il punto di partenza sarebbe riordinare la matrice tenendo conto dei valori assunti dalle colonne 1,2,3... ma come? La verita' e' che non ho esperienza di algoritmi e non riesco a rendermi conto se quello che ho proposto e' un problema standard.
Attendo fiduciosa qualsiasi vostra indicazione