|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
Парсинг и валидация записи числа04.01.2013, 10:16. Показов 3111. Ответов 35
Метки нет (Все метки)
Дана запись числа:
0
|
||
| 04.01.2013, 10:16 | |
|
Ответы с готовыми решениями:
35
валидация числа
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||
| 05.01.2013, 14:07 [ТС] | ||||
|
Добавлено через 5 минут
0
|
||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 05.01.2013, 14:13 [ТС] | |
|
Во вложении полная спецификация, глотать не валидное нельзя категорически, выдача кода ошибки только желательна, подробности не требуются, в первом посте подзадача в задаче парсинга всего файла.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
| 05.01.2013, 15:08 [ТС] | ||||||
|
Точка - единственный, помимо места в файле, надёжный признак, различающий здесь две системы счисления, так как целое может быть и 000025E0, а ни 0x, ни h малое, ни 16 в скобках рядом с числом нет. А вот 00025.0E0 - это уже точно не шестнадцатеричное. Фатальная же гога как раз не так страшна, как избыточная всеядность.
Добавлено через 47 минут А так:
0
|
||||||
|
2917 / 1947 / 214
Регистрация: 05.06.2011
Сообщений: 5,767
|
||
| 05.01.2013, 16:02 | ||
|
Добавлено через 10 минут 100.0E+2 -- это правильное число, как я понял? Твоя прога не съест. Из-за опущенного + в начале. Добавлено через 7 минут С 105 строки кая-то ересь пошла. Ты ж умеешь читать целое число (строки 82-93). Повтори, если уж так не любишь выделять подпрограммы. И, кстати, похоже, порядок (после E) у тебя сначала er, а с 122 -- re. Ну и, напоследок, для умножения на 10 в степени ха есть гораздо более приятные методы, чем цикл от 1 до ха.
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||||||||||||||||||
| 05.01.2013, 16:37 [ТС] | |||||||||||||||||||||||||||
Добавлено через 2 минуты Добавлено через 2 минуты
Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 10 минут Дефалты чего то остались.
Дополнил спецификацию:
0
|
|||||||||||||||||||||||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 05.01.2013, 18:08 | |
|
Для записи "спецификаций" грамматик уже давно придумана (Р)БНФ же:
дробное-число ::= [знак] мантисса [порядок]Добавлено через 11 минут Ну или дробное-число ::= 0 E 0 | мантисса порядокдля ваших требований, как я понял.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 05.01.2013, 18:22 [ТС] | ||
|
"действительное число::=0.0E0 | знак целая часть точка дробная часть E порядок знак ::= + | - целая часть ::= цифра {цифра} дробная часть ::= цифра {цифра} порядок ::=0 | знак порядка цифра {цифра} знак порядка :: + | -" И почему слово "спецификаций" взято в кавычки? Это не язык и не клавиатурный ввод, а файловый формат.
0
|
||
|
2917 / 1947 / 214
Регистрация: 05.06.2011
Сообщений: 5,767
|
|||
| 05.01.2013, 18:24 | |||
|
И таки уточни, ей богу, насчёт степени. Ну обязана ж она быть! А вот фиг. Нету. Забыл. Ну, тогда вроде всё. Может, разве что защиту от переполнения стоило б вставить, тут уже писали...
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||
| 05.01.2013, 18:35 [ТС] | |||||||||||
|
И в другом месте, но в том же документе будет
"целое число ::= цифра цифра цифра цифра цифра цифра цифра цифра цифра ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F". Имхо будет путаница. Добавлено через 1 минуту
Добавлено через 3 минуты
Добавлено через 4 минуты
0
|
|||||||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
||
| 05.01.2013, 19:12 | ||
|
0
|
||
|
2917 / 1947 / 214
Регистрация: 05.06.2011
Сообщений: 5,767
|
||
| 05.01.2013, 19:34 | ||
Забанят же ж!
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 05.01.2013, 20:31 [ТС] | |||
|
Добавлено через 13 минут Добавлено через 1 минуту И иметь таких функция несколько для одних и тех же типов. Добавлено через 26 минут Или так:
0
|
|||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 05.01.2013, 21:21 | |
|
А что не так? –271/3 = e(Ln –27)/3. Ln –27 = ln 27 + i(π + 2πk). –271/3 = 9ei(π + 2πk)/3, k ∈ ℤ. Комплексный логарифм многозначен. Все значения истинны. И по идее результатом должны быть именно все они. (Ну или главное значение при k = 0, то есть 9i2/3. Точнее, три главных значения, лол.)
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 05.01.2013, 21:24 [ТС] | ||
|
0
|
||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 05.01.2013, 21:26 | |
|
С чего вы взяли? Только потому, что это не очень удобно реализовывать?
Если серьёзно, то я что-то не вижу проблем. Частичные функции в виде элементарных операторов есть — то же деление. С вычитанием беззнаковых величин тоже как-то разрулили. С действительными корнями из отрицательных величин тоже. Так что аргумент "эта функция не везде (однозначно) определена" против оператора возведения в степень слабоват. Ведь можно заставить FPU бросаться исключением наконец.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 05.01.2013, 21:33 [ТС] | ||
|
А деление на 0 - это просто запрещённая операция, по которой вылетает только исключение. Поэтому степень может быть только функцией, а к делению это не относится.
Добавлено через 4 минуты
0
|
||
| 05.01.2013, 21:33 | |
|
Валидация записи числа
Валидация числа Валидация числа Валидация числа в input Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|