Вывести элементы в С, которые присутствуют в нескольких экземплярах либо только в массиве A, или массиве В - C#
Формулировка задачи:
Вообщем необходимо Вывести в массив С элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В.Прошу помощи и желательно объяснения как и почему,зарание спасибо.А на данный момент сделал вот что:
int M, N;
Console.WriteLine("Введите размерность массива A");
M = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите размерность массива B");
N = Convert.ToInt32(Console.ReadLine());
int t1 = Environment.TickCount;
Random rand = new Random();
int[] A = new int[M];
for (int i = 0; i < M; i++)
A[i] = rand.Next(0, 100);
Console.WriteLine("Исходный массив А");
for (int i = 0; i < M; i++)
Console.Write(" " + A[i]);
Console.WriteLine(" ");
int[] B = new int[N];
for (int i = 0; i < N; i++)
B[i] = rand.Next(0, 100);
Console.WriteLine("Исходный массив B");
for (int i = 0; i < N; i++)
Console.Write(" " + B[i]);
Console.WriteLine(" ");
int t2 = Environment.TickCount;
Console.WriteLine("Продолжительность работы: " + (t2 - t1) / 1000.0);Решение задачи: «Вывести элементы в С, которые присутствуют в нескольких экземплярах либо только в массиве A, или массиве В»
textual
Листинг программы
static void Main(string[] args)
{
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
var intersect = array1.Intersect(array2); // Общие элементы для 2-х массивов.
Console.WriteLine(String.Join(" ", intersect)); // Выведет: 2, 3
var x = array1.Except(array2); // Убираем из первого присутствующие во втором.
Console.WriteLine(String.Join(" ", x)); // Выведет: 1
var y = array2.Except(array1); // Убираем из второго присутствующие в первом.
Console.WriteLine(String.Join(" ", y)); // Выведет: 4
var nonintersect = array1.Except(array2).Union(array2.Except(array1)); // Элементы различные для обоих массивов.
Console.WriteLine(String.Join(" ", nonintersect)); // Выведет: 1, 4
}