Bonjour tous le monde,

Je suis débutant. Je rencontre un problème au niveau de mon algorithme. J'ai à ma disposition un tableau de dimension 5. dans lequel vous pouvez entrer 4 valeur. Je dois garder une case vide. Puis l'algorithme demande au utilisateur de entrer une valeur. Et il doit le placer en respectant l'ordre croissance.Mais je me bloque sur le placement de dernière valeur en respectant l'ordre croissant. Il me parait qu'il y a un moyen de faire avec le boucle while mais il veut qu'on fasse avec un boucle for.Pouvez-vous me dire ou se trouve mon erreur?

Je vous remercie d'avance.

Cordialement

tuba uba
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
 import java.util.*;
 
public class insertion{
    public static void main(String[] args){
	int n,i,j,valeur, max1; int[] tab1;
	Scanner scn1 = new Scanner(System.in);
	max1 = 0;
 
 
	System.out.println("Saisir une valeur de n");
	n = scn1.nextInt();
	tab1 = new int[n];
 
	for(i = 0; i<n-1;i++){
	    System.out.println("Saisir la valeur de tableau");
	    tab1[i] = scn1.nextInt();
	}
 
	System.out.println("Saisir la valeur a entrer");
	valeur = scn1.nextInt();
	/////////////////////////////////////////////////////
 
	/* algorithme de placement */
	for(j = 0;j<n-1;j++){
	    for(i=j+1;i<n-1;i++){
		if(valeur>tab1[i]){
		    max1 = tab1[i+1];
		    tab1[i+1] = valeur;
		    valeur = max1;
		}
 
	    }
	}
 
        /* lecture de tableau */
 
	for(i=0; i<n ; i++){
	    System.out.println("la valeur de tableau" + tab1[i]);
	}
 
 
    }
}