Получить новый массив, удалив из исходного элементы, равные введённому пользователю числу k - C#
Формулировка задачи:
Получить новый массив, удалив из исходного элементы, равные введённому пользователю числу k
Вот, как я делаю:
мне необходимо получить копию исходного массива, в котором удалятся элементы, равные введённому пользователю числу k.
1) сначала я указываю размерность n массива
2) затем прошу программу сгенерировать случайный массив, состоящий из n элементов
3) далее я выполняю копию этого рандомного массива. Но мне нужно, чтобы в этой копии удалились все элементы, равные предварительно введённому числу k. Если использовать for (int j = 0; j < arr.Length-k; j++)
удали (-я) тся число(-а) справа на это число k. Например, в массиве {1;2;1;3;7;8;} при введённом k=1 удалится число 8. В этом же массиве, если ввести k=3, удалятся элементы 8;7;3. Мне же нужно удалить при введённом k=1 все единицы и получить новый массив {2;3;7;8}. Либо если ввести k=3 удалить тройку и получить новый массив {1;2;1;7;8}. Помогите, ПОЖАЛУЙСТА!
Console.WriteLine("Введите количество элементов:"); Console.Write("n="); int n = Convert.ToInt32(Console.ReadLine()); int[] arr = new int[n]; Random gena = new Random(); for (int i = 0; i < arr.Length; i++) { int random = gena.Next(0, 15); arr[i] = random; Console.Write(arr[i]); } Console.WriteLine(); Console.WriteLine("Введите число k:"); int k = Convert.ToInt32(Console.ReadLine()); int z = arr.Length; int[] arrCopy = new int[z]; for (int j = 0; j < arr.Length-k; j++) { arrCopy[j] = arr[j]; Console.Write(arrCopy[j]); }
Решение задачи: «Получить новый массив, удалив из исходного элементы, равные введённому пользователю числу k»
textual
Листинг программы
int[] arr = { 1, 3, 5, 1, 4, 3, 1, 2, 6, 4, 2 }; //исходный массив int n = 1; //число, которое из массива нужно удалить int[] arr2 = arr.Where(x => { return x!= n; }).ToArray(); //новый массив
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д