Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Я могу ошибаться где-то, эти маски я часто путаю...
Но вот идея:

Делаем класс (в VBA массив какой-нибудь с динамичесим размером) "список подсетей"
Делаем ему метод "добавить ещё одну подсеть по адресу/маске".
Метод проверяет, не входит ли новая (добавляемая) подсеть в одну из уже имеющихся, и не включает ли в себя уже имеющиеся.
Если пересечений нет, подсеть добавляется.
Если пересечение есть, удаляется "меньшая" подсеть.

Ну и загоняем все подсети из списка туда, с нуля.

Как мне кажется, в вашем случае понятие "сети пересекаются" - лишнее. Одна будет полностью включать в себя другую.
И нужно оставлять "большую".
Но я тут могу ошибаться, как я сказал, с масками у меня всегда были напряги.

Отправлено: 16:06, 16-03-2007 | #2