Menu
Coddy logo textTech

Itération de structures complexes

Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 14 sur 66.

L'itération à travers des structures complexes telles que des tableaux imbriqués nécessite des approches particulières.

Parcourez un tableau 2D à l'aide de boucles imbriquées :

int[][] matrix = new int[3][];
matrix[0] = new int[] { 1, 2, 3 };
matrix[1] = new int[] { 4, 5, 6 };
matrix[2] = new int[] { 7, 8, 9 };

for (int i = 0; i < matrix.Length; i++)
{
    for (int j = 0; j < matrix[i].Length; j++)
    {
        Console.WriteLine(matrix[i][j]);
    }
}

Parcourir un tableau de chaînes de caractères et traiter chaque caractère :

string[] words = { "hello", "world" };

for (int i = 0; i < words.Length; i++)
{
    for (int j = 0; j < words[i].Length; j++)
    {
        Console.WriteLine(words[i][j]);
    }
}

Compter les éléments dans un tableau dédenté :

int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] { 1, 2, 3 };
jaggedArray[1] = new int[] { 4, 5 };
jaggedArray[2] = new int[] { 6 };

int totalItems = 0;
for (int i = 0; i < jaggedArray.Length; i++)
{
    totalItems += jaggedArray[i].Length;
}
Console.WriteLine($"Total items: {totalItems}");
challenge icon

Défi

Facile

Créez une méthode appelée countElements qui :

  1. Prend un tableau déchiqueté de chaînes de caractères (string[][]) comme paramètre
  2. Compte le nombre d'éléments présents dans l'ensemble du tableau déchiqueté
  3. Retourne le nombre total

Par exemple, étant donné :

[
  ["apple", "orange", "apple"],
  ["banana", "apple"],
  ["orange"]
]

Le résultat devrait être 6 (3 + 2 + 1).

Aide-mémoire

Utilisez des boucles imbriquées pour parcourir des tableaux 2D :

int[][] matrix = new int[3][];
matrix[0] = new int[] { 1, 2, 3 };
matrix[1] = new int[] { 4, 5, 6 };
matrix[2] = new int[] { 7, 8, 9 };

for (int i = 0; i < matrix.Length; i++)
{
    for (int j = 0; j < matrix[i].Length; j++)
    {
        Console.WriteLine(matrix[i][j]);
    }
}

Parcourez des tableaux de chaînes de caractères et accédez aux caractères individuels :

string[] words = { "hello", "world" };

for (int i = 0; i < words.Length; i++)
{
    for (int j = 0; j < words[i].Length; j++)
    {
        Console.WriteLine(words[i][j]);
    }
}

Comptez le nombre total d'éléments dans un tableau dédenté (jagged array) :

int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] { 1, 2, 3 };
jaggedArray[1] = new int[] { 4, 5 };
jaggedArray[2] = new int[] { 6 };

int totalItems = 0;
for (int i = 0; i < jaggedArray.Length; i++)
{
    totalItems += jaggedArray[i].Length;
}
Console.WriteLine($"Total items: {totalItems}");

Essayez vous-même

using System;
public class CountElements
{
    // Implémenter la méthode countElements
    public static int countElements(string[][] nestedArray)
    {
        // Écrivez votre code ici
        
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux