Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
rad1996
0 / 0 / 0
Регистрация: 22.09.2014
Сообщений: 39
1

Алгоритм вывода массивов кадастровых номеров

29.01.2018, 12:25. Просмотров 290. Ответов 8
Метки нет (Все метки)

Здравствуйте) Столкнулся следующей задачей: дан строка , в которой находится кадастровый номер. Кадастровый номер состоит из чисел и имеет такой формат aa:bb:cccccc:dddddd.... либо aa:bb:ccccccc:dddddd... В третьем блоке может быть либо семь либо шесть цифр. И пользователь может вводить кадастровый в неправильном формате. Например , 55:55:123:432. Мы должный получить правильные варианты. Например дополнить третий блок нулями, чтобы получилось либо 6 либо 7 цифр. Вот два варианта. Могут все слитно писать и т.д. Как можно реализовать этот алгоритм, с чего начинать? Помогите пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2018, 12:25
Ответы с готовыми решениями:

Алгоритм перевода диапазона в префиксы номеров АТС
Есть диапазон телефонных номеров, а в АТС используются префиксы телефонных номеров. Придумать "с...

Запрос для вывода всех не забронированных гостиничных номеров
Есть гостиница. Есть таблицы Гостиничный номер и Проживание. В проживании храниться дата заселения...

SQL-запрос для вывода всех табельных номеров сотрудников
Здравствуйте! Вот есть такая небольшая задача, связанная с SQL. В БД есть две таблицы: Table A и...

Нахождение наибольших элементов массивов и их порядковых номеров
Составить программу, которая вычисляет наибольшие элементы и их порядковые номера для массивов...

Составить алгоритм определения последовательности номеров удаляемых спортсменов
ребята! до завтра ришите задачу. пожалуйста. я ноль в программировании по кругу стоят N...

8
Kill100
421 / 287 / 81
Регистрация: 11.12.2010
Сообщений: 1,208
Завершенные тесты: 1
29.01.2018, 12:50 2
Цитата Сообщение от rad1996 Посмотреть сообщение
И пользователь может вводить кадастровый в неправильном формате
Нельзя такое допускать. Для этого пишите валидатор и с помощью регулярки валидируете. И если не верно уведомляете пользователя.
А
Могут все слитно писать
это вообще ахтунг держите меня семеро. Вы как собираетесь понять что ввел пользователь?
5555123432 это 55:55:123:432 или 55:55:0....12343:00...02? Нельзя давать пользователю такую свободу.
1
netBool
304 / 289 / 167
Регистрация: 16.11.2010
Сообщений: 1,044
Записей в блоге: 9
Завершенные тесты: 5
29.01.2018, 12:52 3
rad1996, посмотри в сторону MaskedTextBox
1
rad1996
0 / 0 / 0
Регистрация: 22.09.2014
Сообщений: 39
29.01.2018, 13:06  [ТС] 4
вот именно , что у пользователя свобода. Мне нужно получить массив вариантов.
0
29.01.2018, 13:06
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 354
Завершенные тесты: 2
29.01.2018, 13:08 5
Цитата Сообщение от rad1996 Посмотреть сообщение
И пользователь может вводить кадастровый в неправильном формате
Как это он может вводить не правильном формате? если там должно быть 4 цифры пусть заполняет 4.
Цитата Сообщение от netBool Посмотреть сообщение
посмотри в сторону MaskedTextBox
либо 4 текстбокса, или куда там вводит пользователь, для каждой группы своё поле. И проверять если ввели в нем меньше цифр чем нужно, либо сразу 0 дорисовали либо выводим где-то иконку предупреждения рядом с полем, чтоб на него обратили внимание.
0
rad1996
0 / 0 / 0
Регистрация: 22.09.2014
Сообщений: 39
29.01.2018, 13:12  [ТС] 6
Штука такая, что пользователь вводит все свои данные в одну строку, ну как при регистрации когда вводишь данные и выходит приблизительные варианты. У меня задание в этом состоит
0
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 354
Завершенные тесты: 2
29.01.2018, 14:00 7
Думаю это то что нужно. Лично я не видел кадастровых номеров, которые не разбиты на группы ":" то есть в любом случае его будут вводить с бумажки. И логичней сделать такой же ввод, чтоб визуально было удобней ориентироваться какая группа заполнена.
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
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        struct tb1Count
        {
            public const int MaxCount = 4; //можно ввести 4 цифры
            public const int MinCount = 2; //если меньше сообщаем, если столько же или больше но не MaxCount - записываем 0 до maxCount 
        }
 
        private void tb1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8)
            {
                e.Handled = true;
            }
 
            if (tb1.Text.Length == tb1Count.MaxCount - 1)
            {
                tb2.Focus();
            }
        }
 
        private void tb1_Leave(object sender, EventArgs e)
        {
            if (tb1.Text.Length < tb1Count.MinCount)
            {
                //Не даем покинуть поле, можно сообщать или подсветить поле чтоб было заметно где фокус
                tb1.Focus();
            }
            if (tb1.Text.Length >= tb1Count.MinCount && tb1.Text.Length < tb1Count.MaxCount)
            {
                int countZero = (tb1Count.MaxCount) - tb1.Text.Length;             
                for (int i = 0; i < countZero; i++)
                {
                    tb1.Text += "0";
                }
            }
        }
    }
0
Вложения
Тип файла: 7z Validtion.7z (3.8 Кб, 1 просмотров)
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 354
Завершенные тесты: 2
29.01.2018, 14:10 8
Что-то подобное реализовано при входе в приват24. Когда приходит код в смс и его нужно вводить на сайте. Только 0 не записываются.

Добавлено через 5 минут
Код только не копируйте слепо. там точно есть баги. и точно можно обойти его. Я пример показал.
0
rad1996
0 / 0 / 0
Регистрация: 22.09.2014
Сообщений: 39
29.01.2018, 14:59  [ТС] 9
Спасибо большое всем)
0
29.01.2018, 14:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2018, 14:59

Составить алгоритм определения последовательности номеров удаляемых спортсменов.
По кругу стоят N спортсменов с номерами от 1 до N. Начиная с какого то человека по кругу удаляются...

Алгоритм поиска номеров элементов массива, равных наибольшему элементу в массиве
Дан одномерный массив из 25 целых чисел. Опишите на одном из языков программирования алгоритм...

Составить алгоритм, при которых можно расселить клиентов в наименьшее количество номеров
В отеле есть N номеров. Администратор имеет информацию о количестве мест в каждом номере, перечень...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru