Перевод с 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();
}