|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 173
|
[Java] Da matrice ad array
Salve, ho una funzione che utilizza un array 1D come input che non posso modificare e una matrice 2D che deve essere passata 1 riga per volta alla funzione e non riesco a scrivere il codice.
In pratica ho questa situazione Codice:
public class Main {
public static void main(String[] args) {
int width = 3, height = 3;
float[][] matrice = new float[9][9];
float[] occorrenza = new float[9];
float[][] risultato = new float[3][3];
for (int s=0; s<width; s++){
for (int t=0; t<height; t++){
for (int x=s; x<width; x++){
for (int y=t; y<height; y++){
matrice[s*width+t][x*width+y] = matrice[x*width+y][s*width+t] = (s*t+x*y);
}
}
System.arraycopy(matrice, s*t, occorrenza, 0, width*height);
risultato[s][t] = funzioneCheAccettaSoloArray (occorrenza);
}
}
for (int i=0; i<width*height; i++)
for (int j=0; j<width*height; j++)
System.out.println(i + "," + j + " " + matrice[i][j]);
}
}
Guardate la riga dell'arraycopy. Il tentativo è di copiare in un array chiamato occorrenze grande 9 float, una riga della matrice, calcolare il risultato con la funzioneCheAccettaSoloArray, e ciclare con i for esterni s e t che copiano ogni volta la riga successiva di matrice. Non devo per forza usare un'occorrenza, posso pure passare direttamente le righe della matrice, ma non riesco. Qualcuno sa cosa fare? Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
matrice[i] è l'array che contiene gli elementi della riga i
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 173
|
Quote:
Codice:
for (int s=0; s<width; s++)
for (int t=0; t<height; t++){
System.arraycopy(matrice[s*width+t], 0, occorrenza, 0, width*height);
risultato[s][t] = funzioneCheAccettaSoloArray(occorrenza);
//risultato[s][t] = funzioneCheAccettaSoloArray(matrice[s*width+t]);
}
}
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:21.




















