Операции с массивами. Создание вспомогательного массива - C#
Формулировка задачи:
Нужно сравнить элементы двух массивов, предварительно их отсортировав. Если элемент есть в одном и во втором массиве - нужно вывести его в третий массив. Но третий массив должен состоять только из Вот пока мой код.
К сожалению это дубликат прошлой темы, просто там было плохо сформировано мной само задание.
неодинаковых
элементов, тамне должно быть повторов
.namespace ConsoleApplication2
{
class proba
{
static void Main()
{
int n, m, i, j, d;//инициализация
Console.Write("Задайте количество элементов в массиве А: ");//задание размеров
n = Convert.ToInt32(Console.ReadLine());
Console.Write("Задайте количество элементов в массиве В: ");
m = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];//инициализация массивов
int[] b = new int[m];
int t1= Environment.TickCount;//таймер
Random Rnd = new Random();//рандомайзер
int maxValue = 1000;
for (i = 0; i < n; i++) a[i] = Rnd.Next(0, maxValue);//заполнение массивов
for (i = 0; i < m; i++) b[i] = Rnd.Next(0, maxValue);
Console.Write("Массив А: ");//вывод массивов
for (i = 0; i < n; i++) Console.Write(a[i] + " ");
Console.Write("\nМассив B: ");
for (i = 0; i < m; i++) Console.Write(b[i] + " ");
for (i = 0; i < n; i++)//сортировка массива A
{
for (j = n - 1; j > i; j--)
{
if (a[j - 1] > a[j])
{
d = a[j - 1];
a[j - 1] = a[j];
a[j] = d;
}
}
}
for (i = 0; i < m; i++)//сортировка массива B
{
for (j = m - 1; j > i; j--)
{
if (b[j - 1] > b[j])
{
d = b[j - 1];
b[j - 1] = b[j];
b[j] = d;
}
}
}
Console.Write("\nМассив А после сортировки: ");//вывод отсортированных массивов
for (i = 0; i < n; i++) Console.Write(a[i] + " ");
Console.Write("\nМассив В после сортировки: ");
for (i = 0; i < m; i++) Console.Write(b[i] + " ");Решение задачи: «Операции с массивами. Создание вспомогательного массива»
textual
Листинг программы
int[] a = new int[] { 1, 2, 3, 4, 5 };
int[] b = new int[] { 2, 3, 4, 8, 9 };
int[] c = a.Intersect(b).Distinct().ToArray(); //находим все совпадения, убираем повторы, пихаем в массив
Console.WriteLine(string.Join(" ",c));
Console.ReadKey(true);