Bonjour,
Etant donné un tableau T de N nombres entiers positifs, j'aimerais écrire le programme qui le tasse, c'est-à-dire qui détecte les éléments nuls du tableau et qui récupère leur place en décalant vers le début du tableau tous les autres éléments.
Evidemment, le programme que j'ai écrit ne marche pas :
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 package exoalgo; import java.util.Random; /** * * @author cbohnert */ public class Exo34 { public static void main(String[] args) { int tab[]=new int[10]; int x=0; Random randomGenerator = new Random(); for (int i=0; i<=tab.length-1;i++) { tab[i]= randomGenerator.nextInt(5); System.out.print(tab[i]+",");} System.out.println(); for (int i=1;i<=tab.length-1;i++) { if (tab[i]==x) { tab[i]=tab[i+1]; } } for (int i=0; i<=tab.length-1;i++) {System.out.print(tab[i]+","); } System.out.println(); System.out.println(tab.length); } }
J'obtiens pour un essai :
C'est-à-dire que les zéros sont bien enlever mais il y a répétition de l'élément successeur ...init:
deps-jar:
compile-single:
run-single:
2,3,1,1,2,2,2,1,0,3,
2,3,1,1,2,2,2,1,3,3,
10
BUILD SUCCESSFUL (total time: 0 seconds)
Quelqu'un pourrait-il m'expliquer svp ??
Partager