Les Allergies
Alimentaires
Posez votre question Signaler

Inversé les elements d' un tableau (VB) [Résolu]

brija 22Messages postés 20 octobre 2009Date d'inscription - Dernière réponse le 16 janv. 2010 à 19:01
Bonjour, je veux un programme qui permet d 'inversé les elements d' un tableau
plzzzzzzzzzzzzzzzzzzzzzzzz
c urgent
Lire la suite 

Inversé les elements d' un tableau (VB) »

3 réponses
Réponse
+2
moins plus
En vb:

n = 5 'taille du tableau
centre = CInt(n / 2)

if(n mod 2 = 1) then centre = centre + 1
 
for i = 1 to centre
      echange = tableau(i)
      tableau(i) = tableau(n - i + 1)
      tableau(n - i + 1) = echange
next







J'ai testé un fichier .vbs


dim tableau(5)

tableau(1) = 1
tableau(2) = 2
tableau(3) = 3
tableau(4) = 4
tableau(5) = 5

n = 5 'taille du tableau
centre = CInt(n / 2)

if(n mod 2 = 1) then centre = centre + 1

i = 0
 
for i = 1 to centre
      echange = tableau(i)
      tableau(i) = tableau(n - i + 1)
      tableau(n - i + 1) = echange
next

for i = 1 to n 
      MsgBox tableau(i)
next

BoneroPross- 16 janv. 2010 à 19:01
bonjour tarek_dotzero,

jai vraiment aimé la maniere dont tu as geré la question de savoir si on est en presence d'un nombre Pair ou Impair.
jai developpé une algo tres similaire (à la tienne ) à laquelle je te demanderais gentillement de jeter un coup d'oeil.
Ma question est de savoir si il n'y a pas moyen de trouver un truc plus efficace pour inverser les elements d 'un tableau VBA. sTP ne mets pas un truc trop compliqué que je ne pourrais pas comprendre car je suis DEBUTANT en VBA.

voici mon code:
Sub InverserElementTableauVBA()
'permet d'inverser les elements de mon Tableau VBA.
'STP aidez moi à avoir un truc plus et plus efficient.


Dim x() As Double 'tableau VBA dynamique dont les dimensions seront preciseés plus tard.
Dim i As Integer, Tempo As Double

Dim NumElt As Integer 'dimensions du tableau.
NumElt = 4
ReDim x(1 To NumElt)

'le remplissage du tableauVB
For i = 1 To NumElt
x(i) = Rnd
Debug.Print x(i) 'juste pour visualiser
Next i

Dim PointArret As Integer 'nbre auquel doit s'arreter ma boucle.


If UBound(x) Mod 2 = 0 Then 'si nbre pair:
PointArret = (UBound(x) / 2) 'si par exemple 5 la loop s'arrete à 3.
Else 'si nombre impair ie UBound(x) Mod 2 = 1
PointArret = (UBound(x) + 1) / 2 'si par exemple 4, la loop s'arrete à 2.
End If

Debug.Print NumElt, UBound(x), PointArret

For i = 1 To PointArret
Tempo = x(i) 'juste une variable qui permet ela permutation.
x(i) = x(NumElt - i + 1)
x(NumElt - i + 1) = Tempo
Next i

'visualiser le resulat.
For i = 1 To NumElt
Debug.Print x(i) 'pour visualiser 'CInt
Next i

End Sub
Ajouter un commentaire
Réponse
+0
moins plus
merci bcp mr à tarek_dotzero
Ajouter un commentaire
Ce document intitulé « inversé les elements d' un tableau (VB) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?