Benaddar Posté(e) le 29 décembre 2005 Partager Posté(e) le 29 décembre 2005 L'énoncé de l'exercice est le suivant et se décline en trois étapes avec Visual basic 6.0 en utilisant qu'un seul module: - Saisir 2 tableaux v et w; - De bâtir et d'afficher deux tableaux construit à partir de v et w dont les zéros en fin de tableau. Le report des zéros en fin de liste fera l'objet d'une seule procédure paramétrée utilisée deux fois: une pour v et une pour w. - D'afficher le nombre d'éléments non nul pour v et w Voici le code que j'ai déja tapé: Option Explicit Dim v(1 To 10) As Integer Dim w(1 To 10) As Integer Dim i As Integer Dim j As Integer Dim cptw As Integer Sub main() '1---------------------------------------- 'saisie de v For i = 1 To 10 v(i) = InputBox("Case" + Str(i) + " de v") Next 'saisie de w For i = 1 To 10 v(i) = InputBox("Case" + Str(i) + " de w") Next '2---------------------------------------- 'affichage de v 'MsgBox ("V:") 'affichage de w 'MsgBox ("W:") '3---------------------------------------- 'affichage du nombre d'éléments non nuls de v j = 0 For i = 1 To 10 If v(i) <> "0" Then j = j + 1 End If Next MsgBox ("V comporte " + Str(j) + " éléments non nuls") 'affichage du nombre d'éléments non nuls de w j = 0 For i = 1 To 10 If w(i) < 0 Then j = j + 1 End If Next MsgBox ("W comporte " + Str(j) + " éléments non nuls") End Sub Mon principal problèle est que je n'arrive pas à afficher les tableau (enfin leur contenu), ensuite j'ai un petit soucis pour le compte des éléments non nuls, en effet si je n'utilise pas deux variable différente ça ne fonctionne pas (dans mon code j'utilise j pour les deux tableaux mais sa ne fonctionne que lorsque je l'utilise sur un seul tableau. Je ne connais pas trop VB et je fais cela pour aider quelqu'un donc si vous pouviez me donner le maximum de détail afin que je puisse retranscrire au mieu merci =) . Lien vers le commentaire Partager sur d’autres sites More sharing options...
SyGEN Posté(e) le 29 décembre 2005 Partager Posté(e) le 29 décembre 2005 Déja je ferais un check si l'utilisateur rentre qqch, si c'est correct, et le cas ou il veut presser cancel. donc qqch dans le style : Dim sInput As String Dim bFinished As Boolean 'saisie de v bFinished = false For i = 1 To 10 If not bFinished Then sInput = InputBox("Case" + Str(i) + " de v") If StrPtr(sInput) = 0 Then 'Cancel on met donc 0 par défaut sur tout le reste du tableau v(i) = 0 bFinished = true; Else If Len(sInput) = 0 Then 'Si l'utilisateur ne remplit rien on met 0 par défaut par exemple v(i) = 0 Else v(i) = sInput End If End If Else v(i) = 0 End if Next Ensuite, idem pour W. Et puis pour l'affichage : ben au moment ou tu fais ton check pour voir les non nulls tu dim un string que tu remplis dim sV as String dim iCount as Integer for i = etc ... if v(i) <> 0 then iCount = iCount + 1 sV = sV + chr(10) + chr(13) end if next msgbox("Contenu de V : " + sV); Voila, dans le style. Bon ca fait bien 10 ans que j'ai plus codé en vb donc la syntaxe tu adaptes! c'est plus pour les idées ici. ensuite oublie pas de pas tout laisser dans le sub main() et de passer par une procédure comme demandé dans l'énoncé. bàt. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Benaddar Posté(e) le 29 décembre 2005 Auteur Partager Posté(e) le 29 décembre 2005 Oki je vois, pour les autres réponses si il y en a, je n'ai pas besoin des élément graphique (pour le check ici) mais merci quand même. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.