Перевод с Pascal. Формирование матрицы и вывод ее элементов - C#
Формулировка задачи:
Всем Привет. Переведите пожалуйста этот код с Pascal на C#. Заодно напишу условие задания:
Дана матрица размера M × N. Вывести ее элементы в следующем по-рядке: первая строка слева направо, вторая строка справа налево, третья строка слева направо, четвертая строка справа налево и т. д.
Код Pascal
var A: array[1..10, 1..10] of integer; i, j, M, N: byte; begin writeln('Введите M, N:'); readln(M, N); writeln('Случайная матрица порядка ', M, ' x ', N, ':'); { Формируем и выводим матрицу: } randomize; { генератор псевдослучайных чисел } for i := 1 to M do begin for j := 1 to N do begin { Случайное число с интервала [0, 49]: } a[i, j] := random(50); write(a[i, j]:4) end; writeln end; writeln; writeln('Выводим элементы в разном порядке:'); for i := 1 to M do if (i mod 2 = 1) then { нечетные строки } for j := 1 to N do { слева направо } write(' ', a[i, j]) else { четные строки } for j := N downto 1 do { справа налево } write(' ', a[i, j]); readln end.
Решение задачи: «Перевод с Pascal. Формирование матрицы и вывод ее элементов»
textual
Листинг программы
static void Main() { int[,] A = new int[10, 10]; byte M, N; Console.WriteLine("Введите M, N:"); M = Byte.Parse(Console.ReadLine()); N = Byte.Parse(Console.ReadLine()); Console.WriteLine("Случайная матрица порядка " + M + " x " + N + ":"); Random r = new Random(); for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { A[i, j] = r.Next(50); Console.Write(A[i, j] + " "); } Console.WriteLine(); } Console.WriteLine("Выводим элементы в разном порядке:"); for (int i = 0; i < M; i++) { if (i % 2 == 1) // нечетные строки for (int j = 0; j < N; j++) // слева направо Console.Write(A[i, j] + " "); else // четные строки for (int j = (byte)(N - 1); j >= 0; j--) // справа налево Console.Write(A[i, j] + " "); Console.WriteLine(); } Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д