Перевести из Паскаля в C#
Формулировка задачи:
Код программы с Паскаль, перевести в C# не получается.
Программа проходит по диагоналям матрицы (змее), начиная с последнего элемента 1й строки. Для сортировки прописал через if правила "отскока" от стенок, вот их перевести на C# и не получается. Прописываю все это на Си, но ничего хорошего не происходит.
Вот код с Паскаля:
var a:array[1..40,1..40]of integer; b:array[1..100] of integer; z,u,w,h,n, n2, m,k,i,j,tt:integer; begin clrscr; randomize; write('ГђГ*çìåð Г¬Г*òðèöû n='); readln(n); writeln('_____________________________'); n2:=n; writeln('ÈñõîäГ*Г*Гї Г¬Г*òðèöГ*:'); for i:=1 to n do for j:=1 to n do a[i,j]:=random(50); //// begin for i:=1 to n do begin for j:=1 to n do write(a[i,j]:2,' '); writeln; end; end; ///////// m:=0; i:=1; j:=n; k:=1; ////// for z:=1 to n*n do begin // if (a[ij]<21) then begin m:=m+1; b[m]:=a[i,j]; end; i:=i+k; j:=j+k; if (i=0)and(j<>0) then begin i:=1; k:=-k; end; if (j>n)and(i<=n) then begin j:=n; k:=-k; end; if i>n then begin i:=n; j:=j-2; k:=-k; end; if j=0 then begin j:=1; i:=i+2; k:=-k; end; end; writeln('_____________________________'); writeln('ÇìåéêГ*:'); for i:=1 to m do write(b[i],' '); writeln; writeln('_____________________________');
Решение задачи: «Перевести из Паскаля в C#»
textual
Листинг программы
static void Main(string[] args) { int[,] a = new int[40, 40]; int[] b = new int[100]; int i, j; Console.Clear(); Random rdm = new Random(); Console.Write("Размер матрицы n="); int n = int.Parse(Console.ReadLine()); Console.WriteLine("<br>"); Console.WriteLine("Исходная матрица:"); for (i = 1; i <= n; i++) for (j = 1; j <= n; j++) a[i, j] = rdm.Next(50); // for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) Console.Write("{0,2} ", a[i, j]); Console.WriteLine(); } ///////// int m = 0; i = 1; j = n; int k = 1; ////// for (int z = 1; z <= n * n; z++) { m++; b[m] = a[i, j]; i += k; j += k; if (i == 0 && j != 0) { i = 1; k -= k; } if (j > n && i <= n) { j = n; k -= k; } if (i > n) { i = n; j -= 2; k -= k; } if (j == 0) { j = 1; i += 2; k -= k; } } Console.WriteLine("<br>"); Console.WriteLine("Змейка:"); for (i = 1; i <= m; i++) Console.WriteLine("{0} ", b[i]); Console.WriteLine("\n<br>"); Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д