Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 107
1

Как удалить элемент массива?

11.04.2017, 13:17. Показов 4203. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как удалить введенный с клавиатуры элемент массива. С#
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2017, 13:17
Ответы с готовыми решениями:

Как удалить элемент массива выбрав его в DataGridView
После сортировки в таблицу выводится упорядоченный массив. Индексы строк в таблице не совпадают с...

Удалить из массива элемент с порядковым номером K
Решить задачу в C# WindowsForms Дан массив размера N и целое число K (1 ≤ K ≤ N)....

Удалить из массива элемент с порядковым номером K
Дан массив размера N и целое число K (1 ≤ K ≤ N). Удалить из массива элемент с порядковым номером...

Массив: Удалить из массива элемент с порядковым номером K.
Помогите решить задачу Дан массив размера N и целое число K (1 ≤ K ≤ N). Удалить из...

5
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
11.04.2017, 13:24 2
Gjf, Как правильно задавать вопросы
0
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 107
12.04.2017, 03:43  [ТС] 3
Нужно удалить элемент массива, массив вводится рандомно
0
746 / 487 / 187
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
12.04.2017, 12:19 4
Gjf, нельзя просто взять и удалить элемент из массива. Можно
a) заменить его каким-либо значением, явно указывающим, что этот элемент больше не нужен или же
б) создать новый массив, длиной меньшей на единицу, и скопировать туда значения до удаляемого элемента и после него.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static void Main(string[] args)
{
    int size = 10;
    int[] array = new int[size];
 
    Random r = new Random();
    for (int i = 0; i < array.Length; i++)
        array[i] = r.Next(10);
 
    Console.WriteLine($"Array: {String.Join(" ", array)}");
            
    Console.Write("Delete: ");
    int delNumber = int.Parse(Console.ReadLine());
    int delIndex = Array.IndexOf(array, delNumber);
 
    if(delIndex != -1)
    {
        //a
        //array[delIndex] = -1;
 
        //b
        int[] temp = new int[array.Length - 1];
        Array.Copy(array, 0, temp, 0, delIndex);
        Array.Copy(array, delIndex + 1, temp, delIndex, array.Length - delIndex - 1);
        array = temp;
    }
 
    Console.WriteLine($"Array: {String.Join(" ", array)}");
}
1
10 / 10 / 4
Регистрация: 05.07.2016
Сообщений: 51
12.04.2017, 17:36 5
Просто использовать не массивы, а коллекции (например List<int>). В них можно и удалять элементы, и заменять их, и вставлять новые "распихивая" остальные элементы коллекции. По сути коллекция, если не знаете, то это но научному класс индексатор, а но нашему - "умный массив" который имеет методы (функции) для манипулированием над элементами.

вот MSDN пишет кое что про классы индексаторы: https://msdn.microsoft.com/ru-... 6t2tx.aspx
и про сам класс-коллекция List: https://msdn.microsoft.com/ru-... .110).aspx
0
6 / 6 / 1
Регистрация: 12.10.2016
Сообщений: 141
13.04.2017, 23:19 6
Удалить элемент с массива нельзя, используй List, в них уже есть готовая функция для добавления и удаления элементов
0
13.04.2017, 23:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2017, 23:19
Помогаю со студенческими работами здесь

Как удалить элемент из массива?
#include &lt;stdio.h&gt; int main(void) { int arrayOfNumbers; for (int i = 0; i &lt; 5; ++i) {...

Как удалить элемент массива?
В одномерном массиве имеется один элемент, равный среднему арифметическому всех значений. Удалить...

Как удалить элемент из массива?
Друзья, подскажите, пожалуйста, как удалить элемент из массива. В массиве каждое число повторяется...

Как удалить элемент из массива
Если следующий элемент больше предыдущего, то предыдущий удалить. Как только следующий элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru