begin process at 2012 02 13 18:05:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Probléme de tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme de tableau

lundi 5 janvier 2009 à 22:16:36 | Probléme de tableau

Vianneyp

Bonjour a tous ,
Je n'ai pas bien l'habitude d'utiliser les tableau et je me trouve dans une situation que je ne comprend pas.
J' aimerai que vous regardiez la petite boucle suivante :
        Dim Array1() As Integer = New Integer(8) {0, 0, 0, 0, 0, 0, 0, 1, 0}
        Dim Array2() As Integer = New Integer(8) {0, 0, 0, 0, 0, 0, 0, 0, 0}
        For i = 0 To 8
            Array2 = Array1
            If Array1(i) = 0 Then
                Array2(i) = 1
                'suite du code dépendant de Array(2)
            End If
        Next i
Dés la première itération,c'est l'effet inverse de ce que je souhaiterai obtenir qui se produit :
Array2 = Array1 => Array2 = (0,0,0,0,0,0,1,0) => TOUT VA BIEN JUSQUE LA
Array2(i) = 1 => Array(0) = 1 => Array2 = (1,0,0,0,0,0,1,0) => OK..mais a ce moment la, la valeur de Array1 change également pour (1,0,0,0,0,0,1,0). Cela n'est pas très logique, ou est-ce moi qui suit passé a coté de quelque chose ?

Je suppose qu'il y a une explication tout a fait rationnelle,alors j'aimerai avoir votre "diagnostic" ^^.
Merci d'avance .
lundi 5 janvier 2009 à 22:30:28 | Re : Probléme de tableau

Vianneyp

Oh
Je vient de découvrir le méthode Clone qui résout le probléme.
Mais alors, lorsque l'on utilise l'opérateur '=' entre deux tableaux, est ce que cela les "lies" l'un a l'autre ? Cela veut dire la moindre modification effectuer sur l'un est automatiquement répercutée sur l'autre ? Je ne voit pas bien l'interet d'une telle situation. Pourquoi l' opérateur '=' ne copierai t-il pas tout simplement la valeur du second dans le premier tableau .
Bon, et bien bonne fin de soirée et désolé pour ce post inutile.
lundi 5 janvier 2009 à 22:39:39 | Re : Probléme de tableau

fauve

Membre Club
Réponse acceptée !
Salut,

En faisant Array1 = Array2, tu ne fais pas que de copier les valeurs d'un tableau dans un autre.

Je m'explique

Dim a(3) As String

Dim b(3) As String

b=a         Copie le tableau a dans b

Attention : il copie les références (l'adresse, l'endroit où se trouve la variable) et non pas la valeur de cette variable, ce qui fait que si tu modifies b(3), a(3) sera aussi modifié.

Car lorsque tu assignes une variable tableau à une autre, seul le pointeur (l'adresse en mémoire) est copié.

++

Fauve

Pensez : Réponse Acceptée 
mardi 6 janvier 2009 à 20:56:05 | Re : Probléme de tableau

Vianneyp

Je me permet de réutiliser mon topic de la veille pour un autre probléme avec les tableaux.
Une fois de plus, mes maigres connaissances en vb ont atteint leurs limites .
Je vais faire de mon mieux pour essayer me faire comprendre.
Considérons un tableau a deux dimensions Ary(x,y).
Ce tableau est composé de x + 1 "lignes" et  de y + 1 "colonnes", soit nécessairement  (x + 1) * (y + 1) éléments au total.
Je ne sais pas encore ce que je cherche, alors je l'appellerai "tableau de tableaux". C'est a dire que chaque "ligne" puisse contenir un nombre indépendant d'éléments, et non obligatoirement autant que de "colonnes".
Par exemple :
[ [1 0 1 0 1 0]
  [1 0 1 0]
  [1 0 1 0 1 0 1] ]
Avec un tableau bidimensionnel "classique", je me retrouverai avec ceci :
[ 1 0 1 0 1 0 0
  1 0 1 0 0 0 0
  1 0 1 0 1 0 1 ]
En plus de cela, c'est un "tableau de tableaux" d'une structure personnalisée dont j'aurai besoin et non de simples entiers.
Avez vous une alternative a me proposer ?
jeudi 8 janvier 2009 à 18:51:28 | Re : Probléme de tableau

Vianneyp

J'ai trouvé ma réponse sur MSDN :
Tableaux en escalier dans Visual Basic
Je le met ici en espérant que cela pourra étre d'une quelconque utilité.
Encore merci et @+


Cette discussion est classée dans : tableau, integer, probléme, array1, array2


Répondre à ce message

Sujets en rapport avec ce message

Indicer un tableau avec des caracteres....c possible? [ par liam ] je veux declarer un tableau dont les indices vont de A à J et dont les elements sont des integer,j'ai tente : dim tabvar(A to J) as integermais il veu tableau [ par ste39 ] salut je suis debutant alors j'ai besoin de votre aide.je veux enregistrer des valeurs qui peuvent changer a tout moment. Par exemple pour 10 valeurs, convertion integer tableau de boolean [ par TomTom27 ] BonjourSe souhaite mette l'état des 16 bits de l'integer dans un tableau de boolean de taille 16.Merci changer le type d'une variable excel vba [ par vousvous ] Salut,merci de vous intéresser à mon problème :J'ai une procedure qui accepte en paramètre un integer.J'ai aussi un tableau de type variant qui récupè Probléme d'impression [ par TTHIERRY ] bonjour,j'es un soucis d'impression je vous explique:j'es un classeur avec 4 feuillesfeuil1  il y a trois boutons  1 remplir un tableau1 renseigner l' Recup Tableau [ par legion91 ] Je voudrais recuperer l'organisation d'un tableau generer par le code ci-dessou qui cree un fichier txt par exemple:Sub main()Dim buffer() As IntegerD Probléme insertion de ligne Excel [ par mayluna ] bonjour!J'ai un petit programme excel , à un moment j'ai un petit tableau, et je veux créer un boutons qui rajoute une ligne à la fin du tableau. Le p pb de déclaration public de tableau [ par sam30 ] Bonjour à tous, Je bloque sur une déclaration public de tableau.Dans le formulaire "nomform1", j'ai déclaré dans le module :_  dim tab_col(100) as int tableau à 2 dimensions passé en paramètre [ par larissa ] Bjr à tous,Mon problème.J'ai déclaré un tableau : dim T(10)(10) as integerje souhaite travailler ce tableau à partir d'une fonction : function mafonct Récursivité ... VB versus C++ [ par Charlie ] Allo...Y'a-t-il moyen en VB de développer la récursivité autant qu'en C... J'ai tansposé un algo de trie récursif mais Vb ne l'aime pas trop!!! C'est


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,786 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales