Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860

Как создать метод удаления из массива

29.08.2016, 20:48. Показов 1679. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Дали задание написать несколько наследуемых классов. Один абстрактный interface Vehicles. Наследуемые Lorry, Car, Van. И отдельный класс - VechicleProperities, где происходит заполнения массива в методе Add() и вывод на экран;

C#
1
2
3
4
 interface IVehicles
    {
        void Properitiess(); 
    }

C#
1
2
3
4
5
6
7
8
9
10
namespace Hometask
{
    class Car: IVehicles
    {
        public void Properities()
        {
            Console.WriteLine("Car is moving faster");
        }
    }
}
И еще два наследуемых класса Lorry и Van, аналогичных Car.
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
30
31
32
namespace Hometask
{
    class VechicleProperities
    {
       IVehicles[] VehiclesArray;
       public VechicleProperities(int SIZE) 
        {
          VehiclesArray = new IVehicles[SIZE];
        }
      
        
        public void Add(IVehicles V)
        {
            for(int i=0; i<VehiclesArray.Length; i++)
            {
                if (VehiclesArray[i] == null)
                {
                    VehiclesArray[i] = a;
                    break;
                }
            }
 
        }
         public void Output()
        {
            for (int i = 0; i < VehiclesArray.Length; i++)
            {
                VehiclesArray[i].Parameters();
            }
        }
    }
}
Основной код.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Hometask
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество итераций");
            int SIZE = Convert.ToInt32(Console.ReadLine());
            VechicleProperities myVechicle = new VechicleProperities(SIZE);
            while (SIZE>0)
            {
                int menu = Convert.ToInt32(Console.ReadLine());
                switch (menu)
                {
                    case 1:
                            Car myCar = new Car();
                            myVechicle .Add(myCar);
                    break;
                    case 2:
                            Lorry myL = new Lorry();
                            myVechicle.Add(myL);
                    break;
                    case 3:
                            Van myV = new Van();
                            myVechicle.Add(h);
                    break;
                    
                    default: Console.WriteLine("Введите правильный номер"); break;
                }
 
                SIZE --;
            }
            myVechicle.Output();
            Console.Read();
        }
    }
}
Как сделать метод Remove, что бы стирать из массива информацию о технических средствах?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2016, 20:48
Ответы с готовыми решениями:

Как создать метод для заполнения массива
Вот условие задачи: Создать статический метод, который будет иметь два целочисленных параметра a и b, и в качестве своего значения...

создать функцию удаления max и min эл-та массива
Я написал почти всю программу в которой задание состоит следующим образом: Удалить максимальный и минимальный эл-т массива вот...

Как реализовать метод добавления и удаления в listbox
Не могу создать ни одного объекта, они получаются с пустым именем и 0 лет. Я знаю что при создании я создаю пустой объект так вот как мне...

24
186 / 184 / 97
Регистрация: 30.04.2016
Сообщений: 478
30.08.2016, 13:08
Студворк — интернет-сервис помощи студентам
Jman, Вы переписали, и я переписал...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static void Main(string[] args)
        {
            var container = new Container<string>(10);
            container.Add("1");
            container.Add("2");
            container.Add("3");
            container.Add("4");
            container.Add("5");
            container.Print();
 
            container.Remove(1); // должно остаться 1,3,4,5
            container.Print();
            Console.WriteLine();
 
            container.Remove("4");
            container.Print(); // должно остаться 1,3,5
            Console.WriteLine();
 
            container.Add("2"); // должно стать 1,3,5,2
            container.Print();
 
            Console.ReadLine();
        }
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
30
31
32
33
34
35
36
public class Container<T>
    {
        public Container(int size)
        {
            _items = new T[size];
        }
 
        private int _actualSize;
        private readonly T[] _items;
 
        public void Add(T item)
        {
            _items[_actualSize] = item;
            ++_actualSize;
        }
 
        public void Remove(int index)
        {
            for (var i = index; i < _items.Length - 2; i++)
                _items[i] = _items[i + 1];
            _items[_actualSize] = default(T);
            --_actualSize;            
        }
 
        public void Remove(T item)
        {
            var index = Array.IndexOf(_items, item);
            Remove(index);
        }
 
        public void Print()
        {
            for (var i = 0; i < _actualSize; i++)
                Console.WriteLine(_items[i]);
        }
    }
1
 Аватар для iDReeM
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
30.08.2016, 14:31
Цитата Сообщение от golubyatnikovtv Посмотреть сообщение
List<T> в .NET не тот же List что в C++ (не .NET). Это не одно-двусвязный список. Это динамическая индексируемая последовательность.
List<T> - контейнер

std::vector<T> - контейнер

какая гигантская разница.
0
 Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
30.08.2016, 14:34  [ТС]
Цитата Сообщение от iDReeM Посмотреть сообщение
vector<T>
Он имел ввиду LinkedList C++
0
186 / 184 / 97
Регистрация: 30.04.2016
Сообщений: 478
30.08.2016, 14:46
iDReeM, не понял Вас.
Да, std::vector<T> и List<T> это подобные структуры данных.
Как и std::list<T> и LinkedList<T>.
1
14 / 14 / 5
Регистрация: 15.12.2014
Сообщений: 90
30.08.2016, 15:53
Цитата Сообщение от Jman Посмотреть сообщение
C#
1
2
3
4
5
public void PrintChagedArray()
{
    for (int i = 0; i < ArrayForSwimming.Length; i++)
        Console.WriteLine(ArrayForSwimming[i]);
}

C#
1
2
3
4
5
6
public void PrintChagedArray()
      {
 
            var query = ArrayForSwimming.Select(x => x).Where(x => x != null);
            foreach (var element in query) Console.WriteLine(element);
      }
Дальше, надеюсь, сами справитесь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2016, 15:53

Как правильно реализовать метод добавления и удаления объектов в хранилище без перегрузки?
Не знаю как правильно здесь реализовать метод добавления и удаления объектов в хранилище без перегрузки. Заранее спасибо. #include...

Как создать программку для удаления файлов?
Подскажите пожалуйста как создать программку которая будет удалять запрограммированные в ней файлы при её загрузке.

Как создать функцию для удаления по времени
Возникла проблема с защитой базы данных от воровства. Хочу спросить знающих людей. Единственное возможное решение это удалить ранее...

Как создать форму для добавления и удаления данных?
объясните как создать форму для добавления и удаления данных

Создать класс ОдномерныйМассив. Создать метод для вычисления суммы элементов двух массивов. Метод должен иметь два аргум
Создать класс ОдномерныйМассив. Создать метод для вычисления суммы элементов двух массивов. Метод должен иметь два аргумента - одномерные...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru