Переставить строки матрицы местами так что бы отрицательные элементы стояли на главной диагонали - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д