bonjour !
Je dois écrire une fonction qui, étant donné deux tabeaux, renvoie un tableau dont les éléments sont ceux communs aux deux tableaux
Voici mon code en trois étapes :
Ecrire une fonction qui, étant donné un nombre entier et un tableau de nombres entiers, teste la présence dans le tableau d' au moins un élément
dont la valeur est le nombre entier
Ensuite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public static boolean nombreDansTableau(int n, int[] tab) { boolean verite = false; for(int i = 0; i < tab.length; i++) { if(tab[i] == n) { verite = true; break; } else verite = false; } return verite; }
Ecrire une fonction qui, étant donné 2 tableaux de nombres entiers, renvoie le nombres d' éléments du 1er tableau dont la valeur est égale
à celle d' au moins un élément du 2ème tableau
Et enfin,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public static int nombEltsValeursCommunes(int [] tab1, int [] tab2) { int n = 0; for(int i = 0; i < tab1.length; i++) { if(nombreDansTableau(tab1[i], tab2)) n++; } return n; }
Ecrire une fonction qui, étant donné 2 tableaux de nombres entiers, renvoie un tableau dont les éléments ont des valeurs commune aux 2 tableaux
Et c' est la 3ème étape qui cloche. Le tableau renvoyé a le nombre d' éléments attendu. Mais les valeurs attendues sont tous égales à zéro. Or, aucun élément des 2 tableaux n' a la valeur zéro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public static int [] tabIntertabs(int [] tab1, int [] tab2) { int n = nombEltsValeursCommunes(tab1, tab2); int [] tab = new int [n]; for(int i = 0; i < tab1.length; i++) { for(int j = 0; j < n; j++) { if( nombreDansTableau(tab1[i], tab2)) tab[j] = tab1[i]; else continue; } } return tab; }
Ce que je vous demande, c' est pas la correction pour l' instant. Mais plutôt me dire là où le bas blesse.
J' aime plus qu' on me donne la solution toute faite. Je veux une indication sur mon ou mes erreur(s).
Je vous remercied' avance.
Partager