Un peu aide sur la matrice a deux dimensions

Fermé
donsail Messages postés 2 Date d'inscription mardi 19 août 2014 Statut Membre Dernière intervention 26 août 2014 - 19 août 2014 à 03:45
mousse2014 Messages postés 4 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 26 août 2014 - 26 août 2014 à 21:09
salut,je suis un étudiant en première année sciences informatiques je voudrais savoir comment afficher l'age de 24 joueurs dans une matrice de taille[6][4] a deux dimensions en java par ordre croissant.
je compte sur votre aide
Merci d'avance!

3 réponses

mousse2014 Messages postés 4 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 26 août 2014 1
Modifié par KX le 26/08/2014 à 22:47
Bonjour,

On a plusieurs solution, qui vont toute les deux consister à utiliser le tri par bulle, le tri par bulle est une technique qui va consister à parcourir un tableau de la première cellule jusqu'à la dernière et à comparer deux valeurs consécutives entre elle , si ces deux valeurs ne sont pas classé en ordre croissant on les intervertit. Si parvenu à la fin du tableau on a procédé à une interversion alors on recommence.

Pour que l'algorithme soit plus simple on doit avoir les fonctions suivantes:
1) On initialise le tableau a 2 dimension tab(6)(4)
2) On copie le tableau à 2 dimension tab(6)(4) dans un tableau à une dimension avec tab1(24) 24 cellules
3) On effectue le tri par bulles
4) On recopie le tableau à une dimension dans le tableau à une dimension


Je passe sur l'initialisation du tableau à 1 dimension
La copie du tableau a deux dimensions vers le tableau a une dimension se passe comme suit:

I=0
J=0
K=0
tantque que (i<=5)
j=0
tantque (j<=3)
tab1(k)=tab(i)(j)
k++
j++
fintanque
i++
fintanque

Le tri par bulles se passe comme suit:

interversion=0
tantque (interversion)
i=0
tantque (i<23)
interversion=1
si (tab1(i)>tab1(j)) alors
memoire=tab1(i)
tab1(i)=tab1(i+1)
tab1(j)=memoire
finsi
i=i+1
fintantque
fintanque


On recopie le tableau à une dimension dans le tableau à une dimension


I=0
J=0
K=0
tantque que (i<=5)
j=0
tantque (j<=3)
tab(i)(j)= tab1(k)
k++
j++
fintanque
i++
fintanque


Voila le tableau est trié, il ne reste plus qu'a convertir dans un langage informatique de votre choix

Publicité supprimée par la Modération
1
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
19 août 2014 à 07:43
Bonjour,

Pourquoi ferions nous ton exercice à ta place ?
0
donsail Messages postés 2 Date d'inscription mardi 19 août 2014 Statut Membre Dernière intervention 26 août 2014
26 août 2014 à 10:21
j'ai seulement un peu de dificulte d' arranger l'age des joueurs par ordre croissant
public void moyenne(){
int x[][],i,j,som=0];
x=new int[6][4];
double moy;
System.out.println("Entrer l'Age des joueurs");
for(i=0;i<6;i++){
for(j=0;j<4;j++){
x[i][j]=Clavier.lireInt();
}
}
for(i=0;i<6;i++){
for(j=0;j<4;j++){
som=som+x[i][j];
}
}
moy=som/24;
je voulais juste qu'on puisse m'aider de l'aranger par ordre croissaint
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
26 août 2014 à 18:18
Pour le tri sur une grille tu devrais regarder le snake sort. Ça consiste à trier chaque ligne séparément, puis chaque colonne séparément et recommencer. On parle de serpent parce qu'il me semble que le résultat obtenu est trié suivant le parcours d'un serpent (il faut alors juste inverser l'ordre d'une ligne sur deux). C'est un algorithme particulièrement utilisé pour le parallélisme vu que chaque ligne/colonne peut être triée individuellement.
0