Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    10

    [JAVA] Esercizio Array! AIUTOO!

    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????
    Ultima modifica di fedez_; 03-01-2015 a 16:22

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    10
    Ora funziona

    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 [10][3];
        int riga, colonna;
        riga = 0;
    
    
        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 (w1=0; w1<w.length; w1++) {
            for (k1=0; k1<k.length; k1++)
            confronto(w[w1], k[k1], w1, k1, tabella, riga); 
            riga++;
            }    
            
        String [] intestazione = new String [3];
        intestazione [0] = "Valore";
        intestazione [1] = "Indice (1)";
        intestazione [2] = "Indice (2)";
        for(int i=0; i<3; i++)
            System.out.print(intestazione[i] + "  ");
            System.out.println();
        
        for (riga=0; riga<10; 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, int riga) {
            if (n1==n2) {
                valore(n1, riga, tabella, pos1, pos2);
                
                }
            }
            
        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;
            }
            
    }
    l'unica cosa è che non riesco a fare... è creare ogni volta che trova una corrispondenza (n1==n2) una nuova riga per la matrice....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.