Pages: [1]   Go Down
Print
Author Topic: Soluzioni prima parte del 23/02/2010  (Read 1195 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
isuccia89
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 481



« on: 24-02-2010, 10:46:30 »

Ciao a tutti.... qualcuno che ha passato l'esame di ieri potrebbe postare le sue soluzioni esatte in modo da confrontarle?
Grazie in anticipo
Logged

Se incontrerai qualcuno persuaso di saper tutto e di esser capace di far tutto non potrai sbagliare, costui è un imbecille! (Confucio)
LexaIdo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 110



« Reply #1 on: 24-02-2010, 11:53:06 »

Code:
/* Esercizio 1 esame 23/02/2010
Scrivere un metodo che prenda in unput una matrice A di dimensione nxm ed una matrice B di
dimensione mxp entrambe di float, e restituisca una matrice nxp di boolean in cui la generica
posizione (i,j) contiene true se e solo se la riga i-esima di A è simile alla colonna j-esima di B.
Due array X=[x1, x2, ... , xr] ed Y=[y1, y2, ... , yr] si dicono simili se (sommatoria da k=1 a r) |xr - yr| ^3 (radice quadrata)|x1 * y1|.
*/
public static boolean[][] esercizio1 (float[][] A, float[][] B)
{
int n=A.length;
int m=A[0].length;
int p=B[0].length;

boolean[][] ris= new boolean[n][p];
for (int i=0; i<n; i++)
for (int  j=0; j<p; j++)
{
float somma=0.0f;
for (int k=0; k<A[0].length; k++)
{
float ass=(float)(Math.abs(A[i][k] - B[k][j]));
float pot=(float)(Math.pow(ass,3));
somma += pot;
}
float ass2=(float)(Math.abs(A[i][0] * B[0][j]));
float rad=(float)(Math.sqrt(ass2));
if (somma<rad)
ris[i][j] = true;
else
ris[i][j] = false;
}
return ris;
}
//End

/* Esercizio 2
Scrivere un metodo che prenda in input ua array bidimensionale frastagliato S di stringhe,
e restituisca un boolean che indichi se esiste una coppia di stringhe in S l'una inversa dell'altra.
*/
public static boolean esercizio2 (String[][] S)
{
for (int i=0; i<S.length; i++)
for (int j=0; j<S[i].length; j++)
{
String inversa="";
for (int k=1; k<=S[i][j].length(); k++)
inversa += S[i][j].charAt(S[i][j].length() - k);

for (int l=i; l<S.length; l++)
for (int m=j; m<S[l].length; m++)
if (inversa.equals(S[l][m]))
return true;
}
return false;
}
//End
ciao
queste sono come le ho svolte io  , il prof mi ha dato 15 punti nel primo e 13 nel secondo esercizio (forse xkè mi sono dimenticato la parentesi graffa di chiusura)  testate
« Last Edit: 24-02-2010, 11:57:30 by LexaIdo » Logged
isuccia89
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 481



« Reply #2 on: 24-02-2010, 11:57:11 »

ok grazie 
Logged

Se incontrerai qualcuno persuaso di saper tutto e di esser capace di far tutto non potrai sbagliare, costui è un imbecille! (Confucio)
LexaIdo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 110



« Reply #3 on: 24-02-2010, 12:00:04 »

ok grazie 

prego 
Logged
Pages: [1]   Go Up
Print
Jump to: