Concetti Chiave
- Il metodo creaVettoreConElementiDiARipetutiInB restituisce un array Z contenente elementi di A presenti in B un numero di volte pari al loro valore.
- Il codice include un metodo di supporto per contare le occorrenze di un elemento in un array, denominato verificaPresenza.
- La dimensione del nuovo array Z è calcolata in base agli elementi di A che soddisfano il criterio di presenza in B.
- Il metodo scorre l'array A e copia gli elementi validi nell'array finale, incrementando un indice per gestire correttamente la posizione.
- Un esempio pratico mostra come A = [1, 2, 3, 4, 5] e B = [4, 2, 4, 2, 7, 4, 4, 9, 5] restituiscano Z = [2, 4].
Tema 29
Scrivere un metodo creaVettoreConElementiDiARipetutiInB che riceve in ingresso due vettori di interi A e B e restituisce un vettore di interi Z contenente gli elementi di A che sono presenti in B un numero di volte pari all’elemento stesso.
Ad esempio, se A = [1, 2, 3, 4, 5] e B = [4, 2, 4, 2, 7, 4, 4, 9, 5], il metodo restituisce Z = [2, 4] poiché il 2 è presente esattamente due volte in B e il 4 è presente esattamente quattro volte in B.
public class tema29{ // creiamo un metodo di supporto per verificare quante volte un elemento è // presente in un array public static int verificaPresenza (int[] V, int k){ int contaPresenze = 0; for (int i = 0; i
Calcolo della dimensione dell'array
length; i++) if (V[ i ] == k) contaPresenze++; return contaPresenze; } // creiamo un metodo che calcola la dimensione che dovrà avere il nuovo array in // base a quanti elementi // rispettano il criterio public static int calcolaDim (int[] V, int[] T){ int dim = 0; for (int i = 0; i creaVettoreConElementiRipetuti (int[] V, int[] W){ // calcoliamo la dimensione che dovrà avere l'array finale int dim = calcolaDim(V, W); int[] arrayFinale = new int[dim]; // creiamo un indice per scorrere l’array finale int indice = 0; // scorriamo l’array da valutare for (int i = 0; i main(String[] args){ int[] A ={1, 2, 3, 4, 5}; int[] B ={4, 2, 4, 2, 7, 4, 4, 9, 5}; int[] Z = creaVettoreConElementiRipetuti (A, B); for (int i = 0; i
Domande da interrogazione
- Qual è lo scopo del metodo `creaVettoreConElementiRipetuti`?
- Come viene calcolata la dimensione del nuovo array in `creaVettoreConElementiRipetuti`?
- Qual è il ruolo del metodo `verificaPresenza` nel contesto del programma?
Il metodo `creaVettoreConElementiRipetuti` restituisce un vettore di interi contenente gli elementi di A che sono presenti in B un numero di volte pari al valore stesso, come illustrato nell'esempio fornito.
La dimensione del nuovo array viene calcolata tramite il metodo `calcolaDim`, che verifica quanti elementi di A soddisfano il criterio di presenza in B, incrementando un contatore ogni volta che un elemento di A è presente in B un numero di volte pari al suo valore.
Il metodo `verificaPresenza` conta quante volte un elemento specifico è presente in un array, ed è utilizzato per determinare se gli elementi di A soddisfano il criterio di presenza in B, essenziale per la costruzione del vettore finale Z.