Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Cours

c#: Utilisation de tableaux

Un cours complet pour maîtriser c#: Utilisation de tableaux.

0 chapitres 0 QCM Accès gratuit
c#: Utilisation de tableaux

c#:Tableaux et matrices

apcpedagogie_tableau
 
Parcours des tableaux

    Parcours des tableaux

  • Pour lire ou écrire les valeurs d’un tableau vous pouvez utiliser une boucle du type « for », « while » ou « do…while ». En C#, il existe aussi « foreach » qui permet de parcourir une liste d’éléments dont les tableaux.
  • Cette structure est intéressante car elle permet de simplifier le code. Voici un exemple :
foreach (int valeur in valeurs)
{
    Console.WriteLine("valeur = {0}", valeur);
}
Accès aux éléments d'un tableau

    Accès aux éléments d'un tableau

  • Un tableau est une structure de données qui contient un certain nombre de variables auxquelles le programme accède par des indices calculés.
  • Un tableau possède un rang qui détermine le nombre d'indices associés à chaque élément du tableau.
  • Le rang d'un tableau correspond aux dimensions du tableau.
  • Un tableau ayant le rang un est qualifié de tableau unidimensionnel.
  • Un tableau ayant un rang supérieur à un est qualifié de tableau multidimensionnel.
  • Chaque dimension d'un tableau se caractérise par une longueur, qui est un nombre entier supérieur ou égal à zéro.
  • La longueur d'une dimension détermine la plage valide d'indices de cette dimension : pour une dimension de longueur N, les indices peuvent aller de 0 à N – 1 inclus.
  • Un élément dans un tableau est accessible en indexant le nom du tableau . Ceci se fait en plaçant l' index de l'élément entre crochets après le nom du tableau de la manière suivante:
  • double salaire = solde [ 9 ] ;

    Exemple: Utilisation de boucle for

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace apcpedagogie_tableau_parcourir
{
   class mon_tableau
   {
      static void Main(string[] args)
        {
            int[] tab = new int[10]; /* tab est un tableau de 10 entiers */
            int i, j;
            /* initialiser les éléments du tableau tab */
            for (i = 0; i < 10; i++)
            {
                tab[i] = i + 100;
            }
            /* Affichage de valeur de chaque élément de tableau */
            for (j = 0; j < 10; j++)
            {
                Console.WriteLine("Element[{0}] = {1}", j, tab[j]);
            }
            Console.ReadKey();
        }
   }
}
  • Dans l'exemple précédent , nous avons utilisé une boucle for pour accéder à chaque élément du tableau. Nous pouvons également utiliser une instruction foreach pour afficher chaque élément du tableau.
  • Exemple: Utilisation de boucle for

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace apcpedagogie_tableau_parcourir
    {
       class mon_tableau
       {
          static void Main(string[] args)
            {
                int[] tab = new int[10]; /* tab est un tableau de 10 entiers */
                int i, j;
                /* initialiser les éléments du tableau tab */
                for (i = 0; i < 10; i++)
                {
                    tab[i] = i + 100;
                }
                /* Affichage de valeur de chaque élément de tableau */
                foreach (int m in tab)
                {
                    int n = m - 100;
                    Console.WriteLine("Element[{0}] = {1}", n, m);
    
                }
                Console.ReadKey();
            }
       }
    }
    
    Obtenir la taille d'un tableau

      Obtenir la taille d'un tableau

    • Il suffit d'utiliser la propriété Length du tableau pour connaître le nombre d'éléments qu'il peut contenir.
    • Dans le cas d'un tableau multidimensionnel, le résultat correspond au nombre total de cases du tableau soit le produit de la taille de chacune des dimensions.
    • Donc il ne s'agit pas de l'espace mémoire occupé par le tableau mais bien du nombre total de cases du tableau.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace apcpedagogie_tableau_parcourir
    {
        class mon_tableau
        {
            static void Main(string[] args)
            {
              int [,] table= { { "pain", "pain2" }, { "beure", "beure2" }, { "moutarde", "moutarde2" }, { "confiture", "confiture2" } };
                Console.WriteLine("La dimension de ce tableau est :{0}", table.Length);
                Console.ReadKey();
            }
        }
    }
    
    Résultat: L'exécution de ce code affiche:La dimension de ce tableau est : 8 (2*4)
  • Pour obtenir l'occupation mémoire du tableau, il faut multiplier sa taille par le nombre d'octets utilisés pour une case élémentaire du tableau.
  • Obtenir la dimension d'un tableau

      Obtenir la dimension d'un tableau

    • La propriété Rank d'un tableau renvoie la dimension d'un tableau.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace apcpedagogie_tableau_parcourir
    {
        class mon_tableau
        {
            static void Main(string[] args)
            {
               string [,] table= { { "pain", "pain2" }, { "beure", "beure2" }, { "moutarde", "moutarde2" }, { "confiture", "confiture2" } };
                Console.WriteLine("La dimension de ce tableau est :{0}", table.Rank);
                Console.ReadKey();
            }
        }
    }
    
    Résultat: L'exécution de ce code affiche:La dimension de ce tableau est : 2
    Rechercher un élément dans un tableau
    • La fonction IncdexOf de la classe Array permet d'effectuer une recherche dans un tableau.
    • Elle accepte comme paramètres, le tableau dans lequel se fait la recherche et l'élément recherché dans le tableau.
    • La valeur retournée correspond à l'index où l'élément a été trouvé dans le tableau ou -1 si élément ne se trouve pas dans le tableau.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace apcpedagogie_tableau_parcourir
    {
        class mon_tableau
        {
            static void Main(string[] args)
            {
                string[] goutter= { "pain", "beure", "moutarde", "confiture" };
                Console.WriteLine(Array.IndexOf(goutter, "moutarde"));
                Console.ReadKey();
            }
        }
    }
    
    Outils spécifiques pour la manipulation des tableaux
    • Length indique le nombre d’éléments
    • foreach est une boucle spécifique pour les tableaux (collections)