Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Двумерные массивы C#

Toru Toru Ученик (96), на голосовании 1 месяц назад
На вход программы подаётся размерность двумерного массива MxN, где
M обозначает количество строк, а N — количество столбцов в массиве. (значения M
и N заданы в коде). Далее двумерный массив заполняется числами от 1 до M*N
“змейкой”, после чего заполненный массив выводится в консоль.
Голосование за лучший ответ
*(\/)@Si* Мыслитель (7222) 2 месяца назад
  1. Создаем таблицу: Сначала мы создаем пустую таблицу с M строками и N столбцами.
  2. Заполняем таблицу: Мы заполняем таблицу числами от 1 до M*N, двигаясь "змейкой".
  3. Выводим таблицу: После того, как таблица заполнена, мы выводим её на экран.
 using System; 

class Program
{
static void Main()
{
int M = 3; // Количество строк
int N = 4; // Количество столбцов

int[,] array = new int[M, N]; // Создаем пустую таблицу

int number = 1; // Начинаем с числа 1

for (int i = 0; i < M; i++) // Проходим по каждой строке
{
if (i % 2 == 0) // Если строка четная (0, 2, 4, ...), идем слева направо
{
for (int j = 0; j < N; j++)
{
array[i, j] = number;
number++;
}
}
else // Если строка нечетная (1, 3, 5, ...), идем справа налево
{
for (int j = N - 1; j >= 0; j--)
{
array[i, j] = number;
number++;
}
}
}

// Выводим таблицу на экран
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(array[i, j] + "\t"); // "\t" - это табуляция, чтобы числа были ровными
}
Console.WriteLine(); // Переходим на новую строку после каждой строки таблицы
}
}
}
Если ты запустишь этот код, на экране увидишь таблицу, заполненную числами "змейкой":
 1  2  3  4 
8 7 6 5
9 10 11 12
Unknown Unknown Гуру (4960) 2 месяца назад
 internal class Program 
{
static void Main(string[] args)
{
Console.Write("m = "); int.TryParse(Console.ReadLine(), out int m);

Console.Write("n = "); int.TryParse(Console.ReadLine(), out int n);

int[,] matrix = new int[m, n];

var range = Enumerable.Range(1, m * n);

foreach (var (val, index) in range.Select((val, index) => (val, index))) matrix[index / n, index % n] = val;

for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
Console.Write($"{matrix[i, j]}\t");
}
Console.WriteLine();
}
}
}
Похожие вопросы