Bonjour à tous,
Voila c'est mon premier message sur ce forum, je suis étudiant en informatique en première année. Voila, les présentations sont faite
Le problème que je rencontres sur un programme demandé à un examen d'une année précédente est le suivant.
Le prof nous demande des méthodes avec les en-têtes suivantes :
public static void tri(int[] a)
public static void tri(int[] a, int i)//Recursive
public static void Insertion(int[] a, int i)//Recursive
Il s'agit de créer ses méthodes afin qu'elles trient un tableau de int.
Cependant, les méthodes etant void, mais statique, elles sont censées opérés directement sur le tableau.. Malheureusement, le tableau retourné au final n'est pas modifié et malgré tous mes essais je n'ai pas trouvé de solution..
J'ai pourtant déjà réalisée des méthodes statiques qui opéraient directement le tableau et qui fonctionnaient très bien .
Voici mon code :
Merci d'avance pour votre aide
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 class exam08Recu { public static void main(String[] args) { int[] a = {0,7,14,8,6,58,42,20,17,58,31,25}; tri(a); for(int i = 0 ; i < a.length ; i++ ) { System.out.println(a[i]); } } public static void tri(int[] a) { Insertion(a,0); } public static void tri(int[] a, int i) { if(i==0) { System.out.println(i); } else { System.out.println(i); if(a[i] < a[i] - 1) { int b = a[i]; a[i-1] = a[i]; a[i] = b; i--; tri(a,i); } else { i--; tri(a,i); } } } public static void Insertion(int[] a, int i) { i++; if(i == a.length) { System.out.println("Finnish"); System.out.println("Resultat"); } else { tri(a, i); System.out.println("Ok sousTab size : " + (i+1) + " traite !"); Insertion(a,i); } } }![]()
Partager