Из массива А удалить те элементы, которые встречаются и в массиве А и в массиве В по крайней мере по 2 раза - C#

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

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

Из массива А удалить те элементы, которые встречаются и в массиве А и в массиве В по крайней мере по 2 раза. Пример, массив А[10]: 2 2 3 4 5 1 2 3 4 9, массив B[9]: 1 2 3 4 5 6 4 8 9. По 2 раза в обоих массивах встречается только элемент - 4. Массив А после удаление примет вид: А[8]: 2 2 3 5 1 2 3 9. Повторятся могут больше двух раз, и не только один элемент. Прошу, помогите сделать...

Решение задачи: «Из массива А удалить те элементы, которые встречаются и в массиве А и в массиве В по крайней мере по 2 раза»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] a = { 2, 2, 3, 4, 5, 1, 2, 3, 4, 9 };
            int[] b = { 1, 2, 3, 4, 5, 6, 4, 8, 9 };
            b = b.GroupBy(v => v).Where(c => c.Count() >= 2).SelectMany(v => v).Distinct().ToArray(); //выбрали элементы, которые встречаются более 2-х раз во втором массиве
            int[] a1 = a.GroupBy(v => v).Where(c => c.Count() >= 2).SelectMany(v => v).Distinct().ToArray(); //в первом
 
            for (int i = 0; i < b.Length; i++)
                a1 = a1.Where(v => v == b[i]).ToArray(); //оставили общие
 
            for (int i = 0; i < a1.Length; i++)
                a = a.Where(v => v != a1[i]).ToArray();//исключаем совпавшие с общими
            Console.Write(String.Join(" ", a));
            Console.ReadKey(true);
        }
    }
}

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


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

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

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