Пользователь вводит длину массивов. Заполнение массивов случайными числами - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы