Пользователь вводит длину массивов. Заполнение массивов случайными числами - C#
Формулировка задачи:
Помогите доработать задачу В путем отсеивание из задачи А задачу Б (Язык С#)
Пользователь вводит длину массивов. Заполнение массивов случайными числами.
А) Составить третий массив. Заполнить массив числами, являющимися объединением первых двух массивов. Без дублирования в результирующем массиве.
Пример:
1 массив: 123
2 массив: 345
3 массив: 12345
Б) Третий массив является пресечением множеств только тех элементов, которые есть и в первом и во втором массиве.
Пример:
1 массив: 123
2 массив: 345
3 массив: 3
В) Третий массив, все элементы которого есть во втором, но не встречаются не в первом, не во втором.
Пример:
1 массив: 123
2 массив: 345
3 массив: 1245 (Общее отсеивается)
А)
Б)
Так же если это не трудно, хотел бы сделать так, чтобы в первой задаче отсеивание повторных чисел не выводило на экран ничего (В моей задачи я сделал чтобы вместо них выводит нули)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace n4a { class Program { static void Main(string[] args) { int n; string s = Console.ReadLine(); n = Convert.ToInt32(s); int[] m = new int[n]; int[] a = new int[n]; int[] array = new int[n*2]; //В 2 раза больше чем исходные массивы Random rnd = new Random(); Console.WriteLine("Массив 1:"); for (int i = 0; i < m.Length; i++) //Заполнение массива m { a[i] = rnd.Next(10); m[i] = rnd.Next(10); Console.WriteLine(m[i]); } Console.WriteLine("Массив 2:"); for (int i = 0; i < m.Length; i++) //Заполнение массива а { Console.WriteLine(a[i]); } for (int i = 0; i < m.Length; i++) //Запись массива "а" в конечный массив { array[i]= a[i]; } int check = 0; // переменная для счетчика for (int i = 0; i < m.Length; i++) //Для увеличения счетчика check { for (int j = 0; j < m.Length; j++) //Проверка совпадений в массиве а и m, если совпадение есть, в ячейку массива m записывается ноль { if (a[check] == m[j]) { m[j] = 0; } } check++; } int ground = 0; //счетчик для элементов массива m for (int i = array.Length/2; i<array.Length;i++) { array[i] = m[ground]; // запись массива m в конечный массив ground++; } Console.WriteLine("Объединённый массив:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array[i]); } Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace n4b { class Program { static void Main(string[] args) { int n; string s = Console.ReadLine(); n = Convert.ToInt32(s); int[] m = new int[n]; int[] a = new int[n]; int[] array = new int[n*2]; //В 2 раза больше чем исходные массивы Random rnd = new Random(); Console.WriteLine("Массив 1:"); for (int i = 0; i < m.Length; i++) //Заполнение массива m { a[i] = rnd.Next(10); m[i] = rnd.Next(10); Console.WriteLine(m[i]); } Console.WriteLine("Массив 2:"); for (int i = 0; i < m.Length; i++) //Заполнение массива а { Console.WriteLine(a[i]); } int check = 0; // переменная для счетчика for (int i = 0; i < m.Length; i++) //Для увеличения счетчика check { for (int j = 0; j < m.Length; j++) //Проверка совпадений в массиве а и m, если совпадение есть, в ячейку массива array записывается совпавшее число { if (a[check] == m[j]) { array[i]= m[j]; } } check++; } Console.WriteLine("Общий массив:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array[i]); } Console.ReadKey(); } } }
Решение задачи: «Пользователь вводит длину массивов. Заполнение массивов случайными числами»
textual
Листинг программы
using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading; using System.Threading.Tasks; using static System.Console; namespace ConsoleApplication1 { class Program { public static int [] CreateArray () { Random random = new Random(); WriteLine("\nInput array size\n"); int n = int.Parse(ReadLine()); int[] myArray=new int[n]; for (int i = 0; i < n; i++) { myArray[i] = random.Next(10); } return myArray; } public static int[] ArrayUnion(int [] arr1, int [] arr2) { int n = arr1.Length + arr2.Length; int[] unArray = new int[n]; for (int i = 0; i < arr1.Length; i++) { unArray[i] = arr1[i]; } for (int i = 0; i < arr2.Length; i++) { unArray[i + arr1.Length] = arr2[i]; } return unArray; } public static void ArrayPrint(int[] arr) { WriteLine("Print array:"); for(int i=0;i<arr.Length;i++) { Write("{0}\t",arr[i]); } } public static int[] CrossArray(int[] arr1, int[] arr2) { int n = 0; for (int i = 0; i < arr1.Length; i++) { for (int j = 0; j < arr2.Length; j++) { if(arr1[i]==arr2[j]) n++; } } int[] arr3 = new int[n]; int z = 0; for (int i = 0; i < arr1.Length; i++) { for (int j = 0; j < arr2.Length; j++) { if (arr1[i] == arr2[j]) { arr3[z] = arr1[i]; z++; } } } return arr3; } public static ArrayList ArrayListCross (int[] arr1, int[] arr2) { int n = 0; ArrayList arrayList=new ArrayList(); foreach (var i in arr1) { if (!arr2.Contains(i)) { arrayList.Add(i); } } foreach (var i in arr2) { arrayList.Add(i); } return arrayList; } public static ArrayList ArrayListCross1(int[] arr1, int[] arr2) { ArrayList arrayList = new ArrayList(); ArrayList arrayList1 = new ArrayList(); foreach (var i in arr1) { if (!arr2.Contains(i)) { arrayList.Add(i); } } foreach (var i in arr2) { if (!arr1.Contains(i)) { arrayList.Add(i); } } return arrayList; } static void Main(string[] args)// метод мейн, точка входа в программу { int []arr1 = CreateArray(); ArrayPrint(arr1); int[] arr2 = CreateArray(); ArrayPrint(arr2); int [] arrUnion=ArrayUnion(arr1, arr2); WriteLine("\nUnited array:"); ArrayPrint(arrUnion); WriteLine(); ArrayPrint(CrossArray(arr1,arr2)); WriteLine(); //CrossArrayUnion( arr1, arr2); // ArrayPrint(CrossArrayUnion(arr1,arr2)); foreach (var i in ArrayListCross( arr1, arr2)) { Write(i+"\t"); } WriteLine(); WriteLine("New method"); foreach (var i in ArrayListCross1(arr1, arr2)) { Write(i + "\t"); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д