Перевести код с паскаля - C#
Формулировка задачи:
Помогите перевести простой алгоритм сортировки в современное консольное приложение на C#
Используется 2 массива. Суть метода:
1. получаем первый массив вида 5, 3, 4, 10
2. второй массив делаем таким что его индекс равен значению, т.е. B[5] всегда равно 5, а B[3] всегда равно 3.
3. выводим на печать полученный массив по порядку, исключая нулевые значения.
var b: array [-10000..10000] of integer; a: array[1..100] of integer; i,n: integer; b[0]:=1; writeln(' Введите количество элементов'); read(n); WRITELN(' Введите элементы'); writeln(''); for i:=1 to n do read(a[i]); writeln(' ИСХОДНЫЙ МАССИВ'); writeln(''); FOR i:=1 TO N DO WRITE (A[I], ' '); writeln(''); for i:=1 to n do b[a[i]]:=a[i]; writeln(' ОТСОРТИРОВАННЫЙ МАССИВ'); for i:=-10000 to -1 do if b[i]<>0 then write (b[i], ' '); if b[0] then write('0 '); for i:=1 to 10000 do if b[i]<>0 then write (b[i], ' '); readkey; end.
Решение задачи: «Перевести код с паскаля»
textual
Листинг программы
static void Main(string[] args) { Console.Write("Введите кол-во элементов: "); int n = int.Parse(Console.ReadLine()); int[] valuesArray = new int[n]; int maxElem = int.MinValue; for (int i = 0; i < n; i++) { Console.Write("a[{0}] = ", i); valuesArray[i] = int.Parse(Console.ReadLine()); if (valuesArray[i] > maxElem) maxElem = valuesArray[i]; } int[] keysValues = new int[maxElem+1]; for (int i = 0; i < n; i++) keysValues[valuesArray[i]] = valuesArray[i]; Console.WriteLine(); Console.WriteLine("Отсортированный массив: "); foreach (int el in keysValues) if (el != 0) Console.Write(el + " "); Console.ReadLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д