Comment afficher les tableaux dans la console [Résolu]

Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention - 31 mars 2017 à 17:58 - Dernière réponse : Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention
- 6 avril 2017 à 23:02
Bonjour, je suis arrivé au chapitre des tableaux je voulais savoir comment afficher les tableaux

car quand je fais avec ce code

Dim variable1(3, 4) As Integer

variable1(0, 2) = 10
variable1(0, 1) = 2

Console.WriteLine(variable1)



ça m'affiche dans la console: System.Int32[,]

car dans le cour je trouve pas comment afficher les tableaux
https://openclassrooms.com/courses/apprenez-a-programmer-en-vb-net/les-tableaux-21

merci :)
Afficher la suite 

40 réponses

Répondre au sujet
Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 31 mars 2017 à 18:55
0
Utile
1
Bonjour

il faut que tu itères chaque "cellule" de ton tableau et soit tu les mets les une après les autres,

soit tu construis des lignes string.Format, ou stringBuilder ou encore string.Join (mais là un tableau de tableau serait plus adapté, dans ton cas il faudra remplir un tableau intermédiaire)
Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention - 31 mars 2017 à 21:25
ok sauf que je débute en vb du coup tes explications je les connais pas encore, si tu pouvais préciser un peu plus ? ;)
Commenter la réponse de Whismeril
Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 31 mars 2017 à 22:19
0
Utile
34
Quand tu fais une boucle (for foreach while etc) chaque passage dans cette boucle s'appelle une itération.
Comme en maths, pour les calculs itératifs.

Donc à toi de choisir une boucle ou combinaison de boucles pour aller lire chaque enregistrement et mettre tout en forme en utilisant l'une ou l'autre des options que je t'ai proposées.

Si tu veux des infos sur ces options, commence par msdn.
Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention > Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 6 avril 2017 à 18:31
ok donc

monTableau (5) (5) = données - valeur etc...
"dossier" "fichier
INDEX"


??
Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention > Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention - 6 avril 2017 à 19:36
non (5), n'est pas le contenant de la donnée.
monTableau(5) est le contenant.

Si je t'ai parlé de rue et de boites aux lettres, et pas de dossier et de fichiers, c'est pas pour rien.

Le tableau c'est la rue de la libération, les index vont de 0 à 99, dans cette rue et le facteur distribue des lettres dans les boites aux lettres numéros 10, 32 et 53. Les données, se sont les lettres, le tableau la rue, et chaque boite aux lettres est un emplacement dans le tableau.
Un emplacement se comporte comme une variable du type qui peut être contenu, dans la rue les emplacements se comportent comme des variables de type lettre. Dans tes exemples, les emplacements se comportent comme des variable de type Integer.
Le tableau rue de la libération est une variable de type tableau de lettre, et les tiens sont des variables de type tableau d'Integer.

Si tu veux une comparaison informatique, alors pense à une colonne dans un tableur (Excel, Numbers, Calc....).
Si tu écris Coucou dans la cellule A3.
Le tableau c'est la colonne A , l'index c'est le numéro de ligne 3.
A est une variable de type Colonne, et l'emplacement A3 se comporte comme une variable de type String.
La donnée c'est Coucou.
Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention > Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 6 avril 2017 à 21:33
c'est pas ce que j'ai dis ? tableau, emplacement ou index (3) valeur 5 ?
Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention > Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention - 6 avril 2017 à 22:16
j'ai lu tableau (5) (5)=données donc ça n'est pas ce que je t'ai dit, ni la bonne syntaxe.
Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention > Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 6 avril 2017 à 23:02
je voulais dire (5) = données par , emplacement (5) et dans cet emplacement les données :)
Commenter la réponse de Whismeril
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - 1 avril 2017 à 11:27
0
Utile
2
Bonjour hixale,

Le code que je te propose est surement un peu trop compliqué pour toi si tu débute, mais si tu veux comprendre les rouages du langage vb.net, tu aura alors de quoi travailler et décortiquer.

Ce code n'est pas volontairement optimisé pour te montrer aussi comment utiliser les LIST.

Je fabrique une fonction permettant de transformer un tableau en String :

    ''' <summary>
''' ("=", ";", "{", "}") ==> "{a=1};{b=2};{c=3}"
''' </summary>
''' <remarks> </remarks>
Public Function ToStringJoin(ByVal DAT As Array, Optional ByVal Separator As String = "=", Optional ByVal Separator2 As String = ";", Optional ByVal Deb As String = "<", Optional ByVal Fin As String = ">") As String
Dim retour As String = ""
For cpt = 0 To DAT.GetLength(0) - 1
Dim P As New List(Of String)
For cp2 As Integer = DAT.GetLowerBound(1) To DAT.GetUpperBound(1)
P.Add(DAT(cpt, cp2).ToString)
Next
retour = retour & Deb & String.Join(Separator, P.ToArray) & Fin
If cpt < DAT.GetLength(0) - 1 Then retour = retour & Separator2
Next
Return retour
End Function


ensuite j'affiche sur la console en utilisant des paramètres

Console.WriteLine(ToStringJoin(Variable1, ":", Environment.NewLine, "{", "}"))


Bonne Prog
CGSI





--
Whismeril 11409 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 1 avril 2017 à 12:33
Salut

pour son cas, y'a plus simple, mais ton code a l'avantage d'être générique.

Cependant, j'aurais aimé qu'il tente un truc de lui même avant qu'on lui propose une correction ou d'autres options.
Hixale 219 Messages postés samedi 25 février 2017Date d'inscription 16 septembre 2017 Dernière intervention - 1 avril 2017 à 13:53
salut , effectivement c'est trop compliqué pour moi pour le moment lol

je connais pas encore se que tu appel LIST mais en tout cas dès que je saurais de quoi il sagit j'essayerai de décortiquer ton code , Bon courage à toi pour ta Fonction ;)
Commenter la réponse de CGSI3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.