Упорядочить по убыванию неповторяющиеся элементы массивов, используя алгоритм выбора - C#

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

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

Вторая: Даны два одномерных массива A[n] и B[n]. Получить массив С[m] (n=<m=< 2n), элементы которого – упорядоченные по убыванию неповторяющиеся элементы данных массивов. Использовать алгоритм выбора

Решение задачи: «Упорядочить по убыванию неповторяющиеся элементы массивов, используя алгоритм выбора»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static void SelectionSort(ref int[] arr)
        {
            int min, temp;
            int length = arr.Length;
 
            for (int i = 0; i < length - 1; i++)
            {
                min = i;
 
                for (int j = i + 1; j < length; j++)
                {
                    if (arr[j] < arr[min])
                    {
                        min = j;
                    }
                }
 
                if (min != i)
                {
                    temp = arr[i];
                    arr[i] = arr[min];
                    arr[min] = temp;
                }
            }
        }
 
        static void Main(string[] args)
        {
            Console.Write("Введите n:");
            int n = Convert.ToInt32(Console.ReadLine());
            int[] A = new int[n];
            int[] B = new int[n];
            for (int i = 0; i < n; i++) { Console.Write("A[" + (i + 1) + "]="); A[i] = Convert.ToInt32(Console.ReadLine()); }
            for (int i = 0; i < n; i++) { Console.Write("B[" + (i + 1) + "]="); B[i] = Convert.ToInt32(Console.ReadLine()); }
            int[] C =new int[0];
            for (int i = 0; i < n; i++) 
            {
                bool flag = true;
                for (int j = 0; j < C.Length; j++)
                    if (C[j] == A[i]) flag = false;
                if (flag) { Array.Resize(ref C,C.Length+1); C[C.Length - 1] = A[i]; }
                flag = true;
                for (int j = 0; j < C.Length; j++)
                    if (C[j] == B[i]) flag = false;
                if (flag) { Array.Resize(ref C, C.Length + 1); C[C.Length - 1] = B[i]; }
            }
 
            SelectionSort(ref C);
 
            for (int i = 0; i < C.Length; i++)
                Console.Write(C[i] + " ");
        }
    }
}

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


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

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

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