Salve eccomi nuovamente qui a implorare il vostro aiuto mi trovo a dover fare questo esercizio:
Scrivere il codice di una classe java che permetta di ordinare una matrice di float.La matrice dovrà essere ordinata per righe in ordine crescente in funzione del modulo(somma dei quadrati dei valori) di ciascuna riga.
Da premettere ho provato a studiare alcuni algoritmi di ordinamento ma a parte che li ho capiti solo in teoria e poco tutti gli esempi che ho trovato per rendermi meglio conto erano con i vettori... quindi per le matrici mi trovo un po' in difficoltà. Intanto però ho scomposto il problema facendo due metodi uno per calcolare il modulo e uno per scambiare le righe perchè poi avevo pensato al metodo vero e proprio in cui avrei passato la matrice per ogni riga far calcolare il modulo e se il modulo della riga i-sima risulta maggiore della riga i+1 invocare il metodo scambia..... però quest'ultima parte non riesco proprio a buttarla giù intanto vi allego il codice che ho scritto fin'ora e spero possiate aiutarmi!
codice:
public class OrdinaMatrice
{
public static float calcolamodulo(float v[])
{
float modulo=0;
for(int i=0;i<v.length;i++)
modulo += v[i]*v[i];
return modulo;
}//chiusura metodo modulo
public static float[][]scambiarighe(float mat[][],int k,int h)
{
float temp[]= new float[mat[0].length];
for(int j=0;j<mat[0].length;j++)
{
for(int i=0;i<mat[0].length;i++)
{
temp[i]=mat[k][j];
mat[k][j]=mat[h][j];
mat[h][j]=temp[i];
}
}
return mat;
}//chiusura metodo scambia