|
1 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 27
|
|
На базе обычного массива реализовать свой собственный класс07.10.2014, 17:47. Показов 11251. Ответов 11
Метки нет (Все метки)
На базе обычного массива (коллекции .NET не использовать) реализовать свой собственный класс
DynamicArray, представляющий собой динамический массив (массив с запасом) для хранения объектов произвольных типов. Класс должен содержать: 1. Конструктор без параметров (создаётся массив ёмкостью 8 элементов). 2. Конструктор с одним целочисленным параметром (создаётся массив указанной ёмкости). 3. Конструктор, который в качестве параметра принимает коллекцию, реализующую интерфейс IEnumerable, создаёт массив нужного размера и копирует в него все элементы из коллекции. 4. Метод Add, добавляющий в конец массива один элемент. При нехватке места для добавления элемента, ёмкость массива должна удваиваться. 5. Метод AddRange, добавляющий в конец массива содержимое коллекции, реализующей интерфейс IEnumerable. Обратите внимание, метод должен корректно учитывать число элементов в коллекции с тем, чтобы при необходимости расширения массива делать это только один раз вне зависимости от числа элементов в добавляемой коллекции. 6. Метод Remove, удаляющий из коллекции указанный элемент. Метод должен возвращать true, если удаление прошло успешно и false в противном случае. При удалении элементов реальная ёмкость массива не должна уменьшаться. 7. Метод Insert, позволяющий добавить элемент в произвольную позицию массива (обратите внимание, может потребоваться расширить массив). Метод должен возвращать true, если добавление прошло успешно и false в противном случае. При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException. 8. Свойство Length — получение количества элементов. Не путать с ёмкостью (Capacity). 9. Свойство Capacity — получение ёмкости: длины внутреннего массива. 10. Методы, реализующие интерфейсы IEnumerable и IEnumerator. 11. Индексатор, позволяющий работать с элементом с указанным номером. При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException. Хоть бы первые несколько) Заранее спасибо
0
|
|
| 07.10.2014, 17:47 | |
|
Ответы с готовыми решениями:
11
На базе обычного массива реализовать свой собственный класс Реализовать свой собственный архиватор по алгоритму хаффмана
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||||||
| 07.10.2014, 18:07 | ||||||
|
Ну вот первые два, дальше попробуй сам, хотя бы несколько
![]()
0
|
||||||
|
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
|
||||||
| 07.10.2014, 18:10 | ||||||
|
Когда-то очень, очень давно тренировался. Код страшен
Но тогда я думал, что крут
0
|
||||||
|
3 / 3 / 1
Регистрация: 12.02.2015
Сообщений: 50
|
||||||
| 11.10.2016, 12:06 | ||||||
|
Сделал 1,2,4,8,9,11. Помогите с остальными пожалуйста.
Вот что думаю по 10(Методы, реализующие интерфейсы IEnumerable и IEnumerator.).
0
|
||||||
|
Администратор
|
|
| 11.10.2016, 12:34 | |
|
Snow88, какое отношение имеет метод IndexOf к реализации интерфейсов IEnumerable и IEnumerator?
0
|
|
|
3 / 3 / 1
Регистрация: 12.02.2015
Сообщений: 50
|
|||||||||||
| 11.10.2016, 12:48 | |||||||||||
|
OwenGlendower, метод IndexOf содержит поле this IEnumerable<T> source. Или я что-то делаю не так?
Добавлено через 3 минуты Или достаточно в классе DynamicArray <T> написать
Предварительно написав конечно же
0
|
|||||||||||
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
| 11.10.2016, 12:49 | ||||||
|
Snow88,
3.
0
|
||||||
|
Администратор
|
||||||||
| 11.10.2016, 13:00 | ||||||||
|
Простейшая реализация интерфейса может выглядеть так:
0
|
||||||||
|
3 / 3 / 1
Регистрация: 12.02.2015
Сообщений: 50
|
||||||||||||||||||||||||||||||||||||
| 11.10.2016, 13:49 | ||||||||||||||||||||||||||||||||||||
|
Даценд, спасибо большое. А гляньте на реализацию 6,7
Так сойдет? Добавлено через 17 минут Вот как решал пункт 5.
Ошибка CS1061 'DynamicArray<T>.IEnumerable<T>" не содержит определения для "Add" и не удалось найти метод расширения "Add", принимающий тип "DynamicArray<T>.IEnumerable<T>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку). Хотя тут я указал Add
Добавлено через 30 минут Добавил
1
|
||||||||||||||||||||||||||||||||||||
|
3 / 3 / 1
Регистрация: 12.02.2015
Сообщений: 50
|
||||||||||||||||
| 13.10.2016, 20:35 | ||||||||||||||||
Еще - вот такое решение пункта 3 не годится
Как правильно переделать? Начало как то так
1
|
||||||||||||||||
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|||||||
| 13.10.2016, 22:23 | |||||||
1
|
|||||||
|
3 / 3 / 1
Регистрация: 12.02.2015
Сообщений: 50
|
|
| 13.10.2016, 23:15 | |
|
Даценд, коллекции .NET не использовать
1
|
|
| 13.10.2016, 23:15 | |
|
Помогаю со студенческими работами здесь
12
Требуется реализовать свой класс MyString Как свой класс реализовать через формы
Разработать собственный класс, содержащий методы для нахождения количества отрицательных элементов массива Класс: Реализовать класс Matrix - матрица, на основе двухмерного массива размерности M на N... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию. . .
|