Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
-16 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 10

Определить класс «Озеро» и создать коллекцию «хэш-таблица» из объектов спроектированного класса

13.04.2018, 17:11. Показов 1536. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу на языке C#, в которой определить класс, характеризующий предметной области «Озеро» (характеристики определить самостоятельно произвольным образом). Из объектов спроектированного класса создать коллекцию «хэш-таблица» и продемонстрировать такие методы работы с ней:
1) добавление элемента в коллекцию;
2) изъятие элемента;
3) поиск элементов с заданным ключом;
4) просмотр элементов.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2018, 17:11
Ответы с готовыми решениями:

Создать класс «Книга» как коллекцию 50 объектов класса «Страница»
Создать класс «Книга» как коллекцию 50 объектов класса «Страница». На странице может располагаться иллюстрация, текст, код программы или...

Создать коллекцию объектов класса
Есть код класса, все вроде работает. Но, теперь мне необходимо каким-то образом создать несколько экземпляров класса и, допустим, среди...

Создать коллекцию объектов класса
Добрый день. Подскажите, как получить коллекцию объектов класса. class Program { static void Main(string args) ...

4
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
13.04.2018, 19:55
Лучший ответ Сообщение было отмечено gektor101 как решение

Решение

ну допустим...

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
namespace ConsoleApp1
{
    public class Program
    {
        static void Main(string[] args)
        {
            var dic = new CustomDic<string, Озеро>();
            dic.Add("Байкал", new Озеро { Глубина = 1, Название = "Байкал", Площадь = 2 });
            dic.Add("Синевир", new Озеро { Глубина = 2, Название = "Синевир", Площадь = 3 });
            dic.Remove("Байкал");
        }
    }
 
    public class Озеро
    {
        public string Название { get; set; }
 
        public int Глубина { get; set; }
 
        public int Площадь { get; set; }
    }
 
    public class HashElement<K, T>
    {
        public K Key { get; private set; }
 
        public T Value { get; private set; }
 
        public HashElement(K key, T value)
        {
            Key = key;
            Value = value;
        }
    }
 
    public class CustomDic<K, T>
        where K : IComparable
    {
        private HashElement<K, T>[] arr;
        private int index;
 
 
        public CustomDic(int count = 4)
        {
            if (count < 1)
                throw new ArgumentException("неверный базовый размер", "count");
            arr = new HashElement<K, T>[count];
            index = 0;
        }
 
        public void Add(K key, T value)
        {
            if (arr.Any(x => x?.Key.CompareTo(key) == 0))
                throw new ArgumentException("такой ключ уже есть");
 
            if (index == int.MaxValue)
                throw new OverflowException("слишком много элементов");
            arr[index] = new HashElement<K, T>(key, value);
            while (index < arr.Length && arr[index] != null)
                index++;
            if (index > arr.Length && index != int.MaxValue)
            {
                var newSize = unchecked(arr.Length * 2);
                if (newSize < 0)
                    newSize = int.MaxValue;
                Array.Resize(ref arr, newSize);
            }
        }
 
        public void Remove(K key)
        {
            for (var i = 0; i < arr.Length; i++)
            {
                if (arr[i]?.Key.CompareTo(key) == 0)
                {
                    arr[i] = null;
                    index = Math.Min(index, i);
                }
            }
        }
 
        public T this[K ключ] => arr.First(x => x?.Key.CompareTo(ключ) == 0).Value;
    }
}
1
-16 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 10
13.04.2018, 21:46  [ТС]
А почему в коде нету Console.WriteLine(); / Console.ReadLine(); ?
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
13.04.2018, 22:02
gektor101, потому что
Цитата Сообщение от Wolfdp Посмотреть сообщение
ну допустим...
остальные доработки самостоятельно
0
-16 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 10
15.04.2018, 19:35  [ТС]
У меня не выходит, добавляю Console.WriteLine(); / Console.ReadLine(); , но консоль остается пустой. Помогите доработать код, чтоб все работало как нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2018, 19:35
Помогаю со студенческими работами здесь

Описать класс "хэш-таблица", используя unordered_set и заданную хэш-функцию
Здравствуйте. Есть класс объектов и ключ сравнения: #pragma once #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;list&gt;...

Создать класс, такой, чтобы невозможно создать больше 3-х объектов этого класса
Добрий день товарищи!!! Помогите написать вот такую задачка.... Создать класс, такой, чтобы невозможно создать больше 3-х объектов...

Разработать класс Book, создать массив объектов класса
Разработать классы для описанных ниже объектов. Включить в класс методы set (), get (), show (). Определить другие методы. 4) Book:...

Добавление объектов класса в коллекцию
Начал выполнять задание и зашёл в тупик. Запутался так, что голова кипит. using System; using System.Collections.Generic; ...

Определить класс Rectangle и класс Point. Объявить массив из n объектов класса Point. Написать функцию, определяющ
Определить класс Rectangle и класс Point. Объявить массив из n объектов класса Point. Написать функцию, определяющую, какая из точек...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru