Требуется расположить неотрицательные элементы матрицы в порядке убывания. Использовать алгоритм вставки - C#

Узнай цену своей работы

Формулировка задачи:

Дан массив x1, x2,..., x20. Требуется расположить неотрицательные элементы в порядке убывания. Использовать алгоритм вставки

Решение задачи: «Требуется расположить неотрицательные элементы матрицы в порядке убывания. Использовать алгоритм вставки»

textual
Листинг программы
using System;
 
namespace Console1
{
    class Program
    {
        static void PrintArr(int[] a)
        {
            foreach (int i in a) Console.Write("{0}\t", i);
            Console.WriteLine();
        }
 
        static void SortBlahBlah(int[] a)
        {
            int left = 0;
            while (left < a.Length && a[left] < 0) left++;
            if (left == a.Length) return;
 
            for (int i = left + 1; i < a.Length; i++)
            {
                if (a[i] >= 0)
                {
                    int idx = i;
                    int tmp = a[i];
                    
                    for (int j = i - 1; j >= left && a[j] < tmp; j--)
                    {
                        if (a[j] >= 0)
                        {
                            a[idx] = a[j];
                            idx = j;
                        }
                    }
 
                    a[idx] = tmp;
                }
            }
        }
 
        static void Main()
        {
            int[] arr = new int[7]; // У вас [20]
 
            Random rnd = new Random();
            for (int i = 0; i < arr.Length; arr[i++] = rnd.Next(-9, 10)) ;
            PrintArr(arr);
 
            SortBlahBlah(arr);
            PrintArr(arr);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.778 из 5
Похожие ответы