bonsoir
en triant mon tableau le cas croissant seulement marche
en cas décroissant il marche pas,en plus il change l'ordre de saisie en croissant.

mon output est:
Entrez le nb d'élément:
3
Saissisez les nombres:1
7
Saissisez les nombres:2
8
Saissisez les nombres:3
9
[7, 8, 9]
tableau est: true
----------------------------
Entrez le nb d'élément:
3
Saissisez les nombres:1
7
Saissisez les nombres:2
5
Saissisez les nombres:3
2
[5, 7, 2]
tableau est: true

je veux, qu'il garde en ordre de saisie comme le 1er cas, mais celui ci le change et s'affiche 5,7,2 au lieu de 7,5,2
et afficher false en cas de décroissant , aidez moi svp


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
 
import java.util.Scanner;
import java.util.Arrays;
public class Test2 
{	
     public static void main(String[] args) 
     {
     Scanner sc=new Scanner(System.in);
     System.out.println("Entrez le nb d'élément:");
     int n=sc.nextInt();
     int tab[]=new int [n];
     boolean croissant=true;
     for(int i=0;i<n;i++)
	 {
	  System.out.println("Saissisez les nombres:"+(i+1));
	  tab[i]=sc.nextInt();
	 }
	 TriTableauCroissant(tab,n,croissant); 
    }
 
	public static int[] TriTableauCroissant(int[] tab, int n, boolean croissant)
	{
		int i, pos,temp;
		for( i=0;i<n-2;i++)
		{
			pos=i;
			for(int j=i+1;j<n-1;j++)
			{
				if(croissant)
				{
					if(tab[j]<tab[pos])
					{
						pos=j;
					}
					else
					{
						if(tab[j]>tab[pos])
						{
							 pos=i;
						}
					}
				}
				temp=tab[pos];
				tab[pos]=tab[i];
				tab[i]=temp;
			}
		}
		System.out.println(Arrays.toString(tab));
		System.out.println("tableau est: "+croissant);
		return tab;		
	}
}