Menu
Coddy logo textTech

Nested Loops with 2D Arrays

Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 4 из 66.

При работе с двумерными массивами (рваными массивами) в C# мы часто используем вложенные циклы для перебора каждой строки и каждого столбца, что позволяет нам обращаться или изменять каждый элемент массива.

Вот типичная структура вложенных циклов для двумерного массива в C#:

for (int i = 0; i < array.Length; i++) {
    // Внешний цикл проходит по строкам
    for (int j = 0; j < array[i].Length; j++) {
        // Внутренний цикл проходит по столбцам
        // Доступ или изменение array[i][j]
    }
}

Внешний цикл проходит по строкам, а внутренний цикл — по столбцам каждой строки. Таким образом, вы можете получить доступ к каждому элементу двумерного массива, используя array[i][j].

challenge icon

Задание

Легко
Создайте метод с именем printMatrix, который принимает двумерный массив (рваный массив) целых чисел в качестве аргумента и выводит его элементы в формате матрицы. Используйте вложенные циклы для итерации по строкам и столбцам массива.

Выводите каждый элемент, за которым следует пробел (включая последний элемент в каждой строке), затем выводите перевод строки после каждой строки. Например, для строки [1, 2, 3] вывод должен быть 1 2 3 (с завершающим пробелом), за которым следует перевод строки.

Шпаргалка

Используйте вложенные циклы для итерации по двумерным массивам (рваными массивами) в C#:

for (int i = 0; i < array.Length; i++) {
    // Outer loop iterates over rows
    for (int j = 0; j < array[i].Length; j++) {
        // Inner loop iterates over columns
        // Access or modify array[i][j]
    }
}

Внешний цикл итерируется по строкам с использованием array.Length, а внутренний цикл — по столбцам с использованием array[i].Length. Доступ к элементам осуществляется с помощью array[i][j].

Попробуйте сами

// Пишите свой код только внутри класса. Не пишите Main() или любой код вне этого класса.
using System;

class PrintMatrix 
{
    public static void printMatrix(int[][] matrix) 
    {
        // Напишите свой код здесь
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком