Un peu aide sur la matrice a deux dimensions

donsail Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mousse2014 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   1
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Pourquoi ferions nous ton exercice à ta place ?
0
donsail Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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