Пользователь вводит длину массивов. Заполнение массивов случайными числами - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д