[déplacé VB6 -> VBS] pair et impair [Résolu]

Signaler
Messages postés
5
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
12 octobre 2009
-
Messages postés
5
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
12 octobre 2009
-
Bonjour,
Soit le tableau suivant : Numeros = array(1,2,3,4,5,6,7,8,9)
Créer deux autres tableaux « Pair » et « Impair » pour accommoder les numéros pairs et ceux impairs du tableau Numeros. En utilisant la boucle « FOR » et la conditionnelle « IF ELSE », afficher les données de ceux deux tableaux.
et voici ce que j'ai fais ,, est ce que c'est juste ?? svp je suis coincé

dim numeros
numeros= array(1,2,3,4,5,6,7,8,9)
dim impaire(6) 
dim pair(5)
dim i
for i=1 to UBound(numeros)
If i Mod 2 = 0 Then
   impaire =i 
Wscript.Echo "pair: "   &impaire(6) 
 Else 
    pair =i
Wscript.Echo "impair: " &pair(5)
 End If
next

6 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,

non plus, sinon on aura 2 tableaux de N indices au lieu de N/2, sans compter que si le contenu de NUMEROS change, le résultat sera le même !


'liste
Dim numeros
numeros = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

'resultats
Dim pair(), index_pair
Dim impair(), index_impair
index_pair = -1
index_impair = -1



Dim i
For i = LBound(numeros) To UBound(numeros)
    If (numeros(i) And 1) = 0 Then
        index_pair = index_pair + 1
        ReDim Preserve pair(index_pair)
        pair(index_pair) = numeros(i)
    
        wscript.echo "pair: " & numeros(i)
    
    Else
        index_impair = index_impair + 1
        ReDim Preserve impair(index_impair)
        impair(index_impair) = numeros(i)
    
        wscript.echo "impair: " & numeros(i)
        
    End If
Next



voilà du tout cuit, instructif ??


PS : ATTENTION AUX THèMES DU FORUM, déplacé vers VBS !

++
[hr]
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
1
Salut,

Ha ben non, ce n'est pas juste, sinon tu ne demanderai pas hein

Voilà plutôt :

dim numeros
numeros= array(1,2,3,4,5,6,7,8,9)
dim impaire()
dim pair()
dim i
for i=0 to ubound(numeros) + 1
  if (i Mod 2) = 0 then
      redim preserve impaire(i)
      impaire(i)=i 
      wscript.echo "pair: " & impaire(i) 
    else
      redim preserve pair(i)
      pair(i)=i
      wscript.echo "impair: " & pair(i)
  end if
next i


A+
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
1
Tout à fait PCPT, erreurs impardonnables ,
dues à la précipitation ou pas.

Merci de veiller au grain

(vais encore être obligé de me fouetter... )
Messages postés
5
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
12 octobre 2009

Merci beaucoup AYR et PCPT pour votre attention,, juste deux petites questions j'ai pas piger pourquoi vous avez fait ça :index_pair = -1
index_impair = -1
ma deuxième question si par exemple on veux ajouter une valeur a chacune des variables on peux faire une boucle for c.a.d si on veux ajouter 10 pour chaque variable du tableau impair c'est correct si on fait comme ça :
dim impair
impair=array(1,3,5,7,9)
  for i=0 to UBound(impair)
   impair=i+10
   Wscript.Echo " "&impair
  Next

@ Ayr : lorsque j'exécute et je trouve une résultat je ne c pas si c correcte ou non c pour ça je pose mes questions ici mon ami car j'étudie le vbscript tt seul et je connais personnes qui connais la langage pour m'aider sauf vous
Amicalement
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
j'ai mis "-1" pour forcer le LBOUND à 0 sans avoir à le tester (tableau non dimensionné / indice hors de la plage)

si par exemple on veux ajouter une valeur a chacune des variables


je ne comprend pas la question, ajouter une valeur fixe à chaque fois qu'il y a un impair?
à chaque variable?? mais il n'y en a que 2, des tableaux....

compris ou non, ton code ne correspond ni à un ajout de valeur (i au lieu de impair(N)), ni au code déjà fourni


PS :
je ne c pas si c correcte ou non c pour ça(...)

merci d'éviter les SMS, les mots-clés (code) sont déjà parfois assez compliqués, en plus du "jargon informatique", pour ne pas avoir à en rajouter par une gentille couche de fainéantise
Messages postés
5
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
12 octobre 2009

Merci PCPT

pour ma deuxième j'ai pas bien expliquer , je veux ajouter 10 (par exemple) pour chaque case ,bref je me suis casser la tête et j'ai trouver la solution voici le code
dim impair
impair=array(1,3,5,7,9)
  for i=0 to UBound(impair)
   impair(i)=impair(i)+10
 Wscript.Echo " "&impair(i)  
  Next