Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: CollegaCaparezza on 24-02-2009, 18:46:55



Title: Dizionario
Post by: CollegaCaparezza on 24-02-2009, 18:46:55
Salve colleghi. vorrei sapere se l'esercizio è giusto e se è giusto dove cavolo sbaglio
Code:
/* Un “dizionario” è un array di stringhe ordinato lessicograficamente in senso crescente. Scrivere un
metodo che prenda in input una matrice quadrata S di stringhe ed un dizionario, e restituisca un
nuovo dizionario aggiornato con tutte le stringhe in S.
Si supponga che non esistano stringhe ripetute. Non è possibile utilizzare metodi di ordinamento.  */

public class EsercizioLab07
{
public static String metodo(String [][] S, String [] diz)
{
int nuovoArray=(int)(S.length+diz.length);
for(int i=0;i<nuovoArray;i++)
{
String tmp="";
int r=(int)(i/S.length);
int c=(int)(i%S.length);
for(int d=0;d<diz.length;d++)
for(int p=0;p<diz[d].length();p++)
{
int n=0;
if(diz[d].charAt(p)==S[r][c].charAt(n))
n++;
else
{
int valDiz=(int)(diz[d].charAt(p));
int valS=(int)(S[r][c].charAt(n));
if(valDiz>valS)
tmp=diz[d];
}
}
S[r][c]=tmp;
return S;
}
}
public static void main(String [] args)
{
String [][] Array={{"andrea","alessandro"},{"ciccio","piero"}};
String [] Dizionario={"batò","dario","peppe"};
System.out.println(metodo(Array,Dizionario));
}
}
Grazie in anticipo  :[Emoticon] PC Asd:


Title: Re:Dizionario
Post by: thomas89 on 24-02-2009, 19:20:42
da quello ke vedo così all'impatto ho visto già 2 errori abbastanza fondamentali..

Intanto l'esercizio ti chiede un semplice array e no un array bidimensionale come hai scritto nel tuo codice "String[][] array .." quindi dovresti cominciare a rifarlo a partire da qst..

poi:
Code:
public static String metodo(String [][] S, String [] diz) {...}

da questa parte di codice si vede ke è un metodo ke restituisce una Stringa.. però vedo ke quando fai la return:
Code:
return S;
noto che la variabile S non è una Stringa, ma una matrice di Stringhe  .coolio

Adesso vediamo il resto..