Question sur les tableaux

Résolu/Fermé
muntu - 8 juil. 2010 à 01:34
 muntu - 10 juil. 2010 à 19:08
Bonjour,

je suis nouveau en programmation, je voulais savoir, existe t'il une méthode qui permet d'afficher un tableau en boulversant ou interchangeant les contenus de chaque ligne mais tout en gardant la diagonale d'origine fixe.

Je me réexplique, je rempli un tableau, selon le nombre de lignes et colonnes que j'ai choisi, et je dois afficher le tableau mais en désordre mais ma diagonale( donc quand le numéro de ma ligne est égale à ma colonne)

exemple :

123
456
768

et j'affiche :

132
654
678

existe t'il une méthode qui permet de le faire automatiquement quelque soit la taille de mon tableau ? Aider moi svp.

Et si on veut faire simple ? enfin juste pour cet exemple , comment faire ?

Merci d'avance !

6 réponses

je ne croit pas qu'il y ai deja une fonction existante en php pour faire ca, le mieux est de l'écrire toi meme à la main.

si les clés sont des entiers tu peux écrire un trucx du genre :
for($i=0;$i<count($tab);$i++)      
{      
      for($j=0;$j<count($tab[$i]);$j++)      
      {      
            if($i!=$j)      
            {      
                   //ici je fait juste une inversion mais tu peux changer
                   //les places des valerur comme tu le souhaite 
                   $temp = $tab[$i][$j];      
                   $tab[$i][$j] = $tab[$j][$i];      
                   $tab[$j][$i] = $temp;      
            }      
      }      
}      

si tu connais la taille de ton tableau, à la place de count tu met sa taille.
si ton code n'est pas en php, l'algorithme reste le meme
2
Merci bcp,

mais dis moi, comment faire pour afficher l'autre diagonale ?

C'est à dire : si mon tableau est :

123
456
789

ma diagonale

213
654
798

merci encore, t'es trop bon
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 juil. 2010 à 08:16
La condition de l'autre diagonale n'est plus i-j=0 mais devient i+j=n-1(en commençant à zéro)
0
Utilisateur anonyme
8 juil. 2010 à 01:37
Quelle en serait l'utiliter ??
0
au fait le but c'est d'afficher un tableau dont la diagonale ne change pas mais les autres cases de mon tableau sont interchangés.

Je sais pas si dans mon exercice j'ai mal compris, enfin est ce que c'est possible de le faire automatiquement quelque soit la taille de mon tableau ?

Si c'est pas possible de le faire automatiquement, pouvez-vous m'aider à traiter juste mon exemple ?

Merci d'avance !
0
Au fait le but c'est d'afficher un tableau dont la diagonale ne change pas mais les autres cases de mon tableau sont interchangés.

Je sais pas si dans mon exercice j'ai mal compris, enfin est ce que c'est possible de le faire automatiquement quelque soit la taille de mon tableau ?

Si c'est pas possible de le faire automatiquement, pouvez-vous m'aider à traiter juste mon exemple ?

Merci d'avance !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
Modifié par fiddy le 8/07/2010 à 07:56
Evite de créer des doublons dans les posts.
Ce n'est pas très sympa vis-à-vis de ceux qui aident et ça ne donne vraiment pas envie d'aider...
Post initial : http://www.commentcamarche.net/forum/affich-18273309-interchanger-les-elements-du-tableau

Google is your friend
0
Slt !

Merci pour ta réponse, mais j'ai pas trop bien compris la deuxième méthode.
0