VB.Net: Correction des exercices tableaux et matrices 13

VB.Net: Correction des exercices tableaux et matrices 13





  1. Enoncé Exercice 13
  2. Buts:
  3. VB.Net: Correction des exercices tableaux et matrices 13

    • Déclaration et initialisation de tableaux en VB.Net.
    • Affichage des éléments du tableau
    • Parcourir des tableaux en VB.Net.
    • Fusionner deux tables en une seule.

  4. Rappel
      1. Copie d’un tableau
        • La copie d’un tableau implique la copie de ses éléments dans un autre tableau.
        • Dans le cas d’un tableau d’objets, seules les références à ces objets sont copiées, aucun nouvel objet n’est créé.
        • La méthode arraycopy de la classe System permet de copier tout ou partie d’un tableau vers un autre tableau déjà alloué.

      2. Explications
          • Cette version implante une solution non optimisée où 2 tableaux auxiliaires sont utilisés pour héberger temporairement les valeurs paires pour le premier et les valeurs impaires pour le second.
          • Ces deux tableaux sont dimensionnés à la valeur maximale possible : la taille de tableau principal.
          • Une fois qu’ils contiennent toutes les valeurs de tableau, ces deux tableaux sont fusionnés par recopie dans le tableau tableau.
          • Cette solution n’est pas optimisée
          • Dans l’exercice suivant le programme copie le contenu du tableau en employant une boucle for, quoiqu’il ait pu tout simplement utiliser la méthode Copy de la classe Array, comme suit:
          • Array.Copy(Valeurs, 0,Temp,0 Valeurs.Lenth)

  5. Correction Exercice 13
  6. Module exercice13
        Dim tableau As Integer() = New Integer(19) {}
        Sub Main()
            remplirTableau()
            AffichageTab()
            ReorganiseTab()
        End Sub
        Private Sub remplirTableau()
            Dim rnd As New Random()
            ' affectation de valeurs entières, pris au hasard entre 1 et 100, au tableau
            For i As Integer = 0 To 19
                tableau(i) = rnd.Next(1, 101)
            Next
        End Sub
        Private Sub AffichageTab()
            'affichage des valeurs du tableau
            For i As Integer = 0 To 19
                Console.WriteLine(tableau(i) & " ")
            Next
        End Sub
        Private Sub ReorganiseTab()
            'déclaration de deux tableaux temporaires
            Dim tabpair As Integer() = New Integer(19) {}
            Dim tabimpair As Integer() = New Integer(19) {}
            'déclaration de deux compteurs
            Dim ctpair As Integer = 0
            Dim ctimpair As Integer = 0
            'Recherche de minimum
            For i As Integer = 0 To 19
                If (tableau(i) Mod 2) = 0 Then
                    'int[] tabpair;
                    tabpair(ctpair) = tableau(i)
                    ctpair += 1
                Else
                    tabimpair(ctimpair) = tableau(i)
                    ctimpair += 1
                End If
            Next
            For i As Integer = 0 To ctpair - 1
                tableau(i) = tabpair(i)
            Next
            For i As Integer = 0 To ctimpair - 1
                tableau(i + ctpair) = tabimpair(i)
            Next
            Allez à suite.........................................
        End Sub
    End Module
    

  7. Suite
  8. Console.WriteLine("Tableau réorganisé")
            Console.WriteLine("---------------------")
            Console.WriteLine("Les entiers pairs")
            For i As Integer = 0 To 19
                If i = ctpair Then
                    Console.WriteLine("Les entiers impairs")
                End If
                Console.WriteLine(tableau(i))
            Next
            Console.WriteLine("---------------------")
            Console.WriteLine("Nombre des entiers pairs: " & ctpair)
            Console.WriteLine("Nombre des entiers impairs: " & ctimpair)
    

Abonnez vous à notre chaîne YouTube gratuitement