Votre question

Rotation d'un tableau en JAVA

Tags :
  • Java
  • Sauvegarde de données
  • Programmation
Dernière réponse : dans Programmation
13 Décembre 2011 13:36:02

Bonjour,
En fait j'ai un tableau de 6x6 et je dois roter tout les sous-tableaux de 3x3 (il y en a 4) et a chaque fois je dois roter l'un d'entre eux soit vers la gauche soit vers la droite ça dépend du choix de l'utilisateur, j'ai pensé à faire deux sous-programmes un pour la droite et l'autre pour la gauche , mais je vois toujours pas par où commencer tout ce que je sais c'est que j'aurai besoin de 2 boucles "for" pour parcourir les sous-tableaux, après ça je suis complétement perdue.
Merci de vouloir m'aider .

(PS: Prière de me répondre le plutôt possible (au pire demain matin).)

Cordialement.

Autres pages sur : rotation tableau java

a c 232 L Programmation
13 Décembre 2011 17:24:22

Salut,

Il faut que tu découpes ce que tu dois faire en plusieurs parties, ça te permettra de ne pas être perdue.
Par exemple, là il faut que tu fasses une rotation des sous-tableaux de 3x3, ça se divise en 2 parties:
- faire une boucle sur tes tableaux pour avoir accès à ton tableau de 3x3
- modifier les données

Pour faire une boucle sur tes tableaux, vu que c'est à 2 dimensions, tu auras en effet besoin de faire 2 boucles, une boucle pour les colonnes et une pour les lignes.
Vu que tu as 4 petits tableaux dans 1 gros tableau, tes boucles peuvent commencer à plusieurs endroits:
- soit à 0 (première colonne/ligne) et se terminent à 3 (exclus)
- soit commencent à 3 (deuxième tableau) et se terminent à 6 (exclus).

Par exemple, ton tableau en haut à gauche commence à [0][0] et se termine à [2][2]. Ou ton tableau en bas à droite commence à [3][3] et se termine à [5][5].


Et pour la copie de tes données, il faut que tu utilises au moins une variable temporaire.
Tu sauvegardes ta première valeur (par exemple [0][0]) dans la variable temporaire, et tu fais ta boucle en remplaçant la valeur par celle qu'il faut, en commençant par la première valeur (exemple [0][0]). La deuxième valeur [0][1] est sauvegardée dans la première [0][0], puis la 3ème [0][2] est sauvegardée dans la 2ème [0][1], etc... jusqu'à la dernière valeur, à laquelle tu mets la valeur que tu as sauvegardé dans la variable temporaire

13 Décembre 2011 19:41:00

Merci Omar d'avoir répondu.


Tout ce que t'as écrit semble juste et bien présenté, en effet ce que je cherchais c'est une méthode de rotation, je me suis dis que si j'arrive à roter le grand tableau ça serai facile de roter les petits, je n'aurai qu'a faire quelques petites modifications, j'ai mes idées en tête mais j'arrive a rien faire sans la méthodes =/ si tu vois ce que je veux dire...voilà !
Contenus similaires
a c 232 L Programmation
13 Décembre 2011 19:49:07

J'imagine que ce que tu veux, c'est du code...
N'ayant pas fait de Java depuis quelques années, je ne peux pas te fournir ça, et je n'ai de toute manière pas le temps...

Et faut voir exactement ce que tu veux dire par ta rotation ?
Exemple, si j'ai ce tableau :
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9


A quoi tu veux qu'il ressemble une fois que ta rotation a été faite ?
13 Décembre 2011 19:54:39

à ça


1 | 2 | 3
4 | 5 | 6
7 | 8 | 9


3 | 6 | 9
2 | 5 | 8
1 | 4 | 7


voilà !
a c 232 L Programmation
14 Décembre 2011 08:45:42

Si tu veux une base, tu as des éléments de réponse ici : http://stackoverflow.com/questions/2799755/rotate-array...
Voir la 2ème réponse qui correspond un peu plus à ce que tu veux que la 1ère.

La différence étant qu'il créé un nouveau tableau, mais ça peut aussi être une solution pour toi.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS