Salve...sto facendo un esercizio sugli array ma non riesco a capire dove sto sbagliando.. :muro:
Consegna dell'esercizio!
//8. Scrivere un programma C che, dati 2 vettori, ognuno contenente 10 numeri interi positivi inseriti da tastiera, confronti il valore di ciascun elemento del primo con i valori di tutti gli elementi del secondo. Alla fine dovrà stampare a video il numero di elementi uguali e in quale posizione dei vettori questi si trovano.
Esempio:
Inserisco da tastiera i seguenti valori, rispettivamente per i vettori v e w
2 23 43 45 6 76 7 78 76 5
44 4 3 32 2 20 4 5 6 7
Valore Posiz. Vett. v Posiz. Vett. w
2 0 4
6 4 8
Numero di elementi uguali: 4
codice:import java.util.Scanner; public class Tabella { public static void main (String[] args) { Scanner tastiera = new Scanner(System.in); int k1, w1; int w[] = new int [4]; int k[] = new int [4]; int tabella[][]= new int [4][3]; int riga, colonna; for (w1=0; w1<w.length; w1++) w[w1] = tastiera.nextInt(); System.out.println("Hai completato il primo array!"); for (k1=0; k1<k.length; k1++) k[k1] = tastiera.nextInt(); System.out.println("Hai completato il secondo array!"); for (k1=0; k1<k.length; k1++) { for (w1=0; w1<w.length; w1++) confronto(k1, w1, k[k1], w[w1], tabella); } for (riga=0; riga<4; riga++){ for (colonna=0; colonna<3; colonna++) { System.out.print(tabella[riga][colonna]+" "); } System.out.println(); } } public static void confronto(int n1, int n2, int pos1, int pos2, int [][] tabella) { if (n1==n2) { int riga = 0; valore(n1, riga, tabella, pos1, pos2); riga++; } } public static void valore (int n1, int riga, int [][] tabella, int pos1, int pos2) { tabella[riga][0] = n1; posK(pos1, riga, tabella, pos2); } public static void posK (int pos1, int riga, int [][] tabella, int pos2) { tabella[riga][1] = pos1; posW(pos2, riga, tabella); } public static int [][] posW (int pos2, int riga, int [][] tabella) { tabella[riga][2] = pos2; return tabella; } }
compila ma non funziona correttamente!!!
potete darmi una mano????

Rispondi quotando