Перенос элементов из одного массива в другой - C#
Формулировка задачи:
Дано два случайно заполненных массива. Нужно скопировать (или переместить - как удобнее) повторяющиеся элементы в третий массив.
Вот набросок
int length1 = 0;
Console.WriteLine("Введите количество элементов в массивах: ");
int count = int.Parse(Console.ReadLine());
int[] a = new int[count];
int[] b = new int[count];
Random r = new Random();
Console.WriteLine("\nМассив А: ");
for (int i = 0; i < a.Length; i++)
{
a[i] = r.Next(0, 11);
Console.Write(a[i] + " ");
}
Console.WriteLine("\nМассив B: ");
for (int i = 0; i < b.Length; i++)
{
b[i] = r.Next(5, 16);
Console.Write(b[i] + " ");
}
Console.WriteLine("\nМассив C: ");
for (int elem = 0; elem < a.Length; elem++)//считаем, сколько нужно выделить памяти под массив C
{
for (int elem2 = 0; elem2 < b.Length; elem2++)
{
if (a[elem] == b[elem2])
length1++;
}
}
int[] c = new int[length1];
int[] d = new int[a.Length + b.Length - length1];
for(int i =0; i < a.Length; i++)//сравниваем элементы массива A и B и записываем в C
{
for (int j = 0; j < b.Length; j++)
{
if (a[i] == b[j])
{
int k = 0;
c[k] = a[i];
k++;
}
}
}
for(int f = 0; f < length1; f++)
{
Console.Write(c[f] + " ");
}
Console.Read();Решение задачи: «Перенос элементов из одного массива в другой»
textual
Листинг программы
int[] one = { 2, 3, 5, 7, 9, 12, 6, 0 };
int[] two = { 22, 24, 3, 12, 61, 8, 0 };
var res = one.Concat(two).ToArray().GroupBy(x => x).Where(x => x.Count() > 1);
Array.ForEach(res.ToArray(), x => Console.Write(x.Key + " "));
Console.Read();