Переставить строки матрицы местами так что бы отрицательные элементы стояли на главной диагонали - C#
Формулировка задачи:
В квадратной матрице в каждом столбце и каждой строке есть единственный отрицательны элемент. Нужно переставить строки местами так что бы отрицательные элементы стояли на гласной диагонали.
Решение задачи: «Переставить строки матрицы местами так что бы отрицательные элементы стояли на главной диагонали»
textual
Листинг программы
static void HoareSort(int[] array, int start, int end) { if (end == start) return; var pivot = array[end]; var storeIndex = start; for (int i = start; i <= end - 1; i++) if (array[i] <= pivot) { var t = array[i]; array[i] = array[storeIndex]; array[storeIndex] = t; storeIndex++; } var n = array[storeIndex]; array[storeIndex] = array[end]; array[end] = n; if (storeIndex > start) HoareSort(array, start, storeIndex - 1); if (storeIndex < end) HoareSort(array, storeIndex + 1, end); } static void HoareSort(int[] array) { HoareSort(array, 0, array.Length - 1); } static Random random = new Random(); static int[] GenerateArray(int length) { var array = new int[length]; for (int i = 0; i < array.Length; i++) array[i] = random.Next(); return array; } public static void Main() { var array = GenerateArray(10); HoareSort(array); foreach (var e in array) Console.WriteLine(e); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д