salve ragazzi.....devo creare questo programma: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
di seguito posto il codice
codice:class Dizionario { static String[] Metodo(String[][] A, String[] dizionario) { String []DizionarioAggiornato=new String[Math.pow(A.length, 2) + dizionario.length ];// la somma di una matrice quadrata + un array è il quadrato della matrice + gli elementi dell'array indice = Dizionarioaggiornato.length; for (int i= 0; i<DizionarioAggiornato.length; i++) DizionarioAggiornato[i] = Dizionario[i]; for (int j= 0 ;j<A.length;j++){ for (int k=0;k<A.length;k++) ordina(DizionarioAggiornato,indice, a[i][j]); } return DizionarioAggiornato; } static void ordina(String[] B, indice, String s) { int locazioni=indice -1; //partendo dall'ultimo elemento while (locazioni >=0 && B[locazioni]>s){ A[locazioni + 1] = A[locazioni]; // sposto avanti A[locazioni] in locazioni + 1 locazioni = locazioni - 1; // vado all'elemento precedente } A[locazioni + 1] = s; // metto il nuovo elemento nella // locazione liberatasi } public static void main(String[] args) { String [] dizionario = {"andrea", "bastardo", "cena", "pippo", "rosso", "saluto", "treno"}; String [][] S = { {"ciao", "miao", "suca"}, {"fottiti", "ciuccia", "berun"}, {"ciuccio", "testa", "forse"} }; String [] dizionario_aggiornato = Metodo(S, dizionario); for(int i=0; i<dizionario_aggiornato.length; ++i) System.out.println(dizionario_aggiornato[i]); } }

					
					
					
						
  Rispondi quotando
						
