25 / 25 / 22
Регистрация: 22.02.2015
Сообщений: 125
|
||||||
1 | ||||||
Проверка разрядности числа10.07.2015, 22:25. Показов 13663. Ответов 13
Метки нет (Все метки)
Здравствуйте, возникла проблема с проверкой разрядности числа. У меня есть переменная, в которой содержится число определенной разрядности. Для примера допустим, что там четырехзначное число. Я сделал следующую проверку:
Может число разложить в массив и там обработать или есть уже придуманный алгоритм и я изобретаю велосипед? Буду рад помощи и любым идеям как обработать это исключение с нулем в начале числа.
0
|
10.07.2015, 22:25 | |
Ответы с готовыми решениями:
13
проверка разрядности процессора средствами командной строки Проверить сумма какой из половин числа и какая из двух частей числа разрядности больше Проверка наличия папки и последующее копирование файлов в зависимости от разрядности системы Создание числа из разрядности (простейший способ) |
35 / 35 / 20
Регистрация: 11.08.2012
Сообщений: 142
|
|
10.07.2015, 22:36 | 4 |
Всё правильно! 0111=111, то есть трёхзначное число.
Чтобы можно было записать 0111 или 000876, числовые типы не подходят, наверное нужно использовать тип string и просто считать символы.
1
|
25 / 25 / 22
Регистрация: 22.02.2015
Сообщений: 125
|
|
10.07.2015, 23:07 [ТС] | 6 |
Kerry_Jr, Я это знаю и прекрасно понимаю, но для корректной работы программы мне необходимо учитывать все цифры числа, введенного пользователем, собственно, поэтому и нули в начале числа мне необходимо считать за разряд
0
|
10.07.2015, 23:20 | 7 |
Legend072,
Числа не хранят лидирующие нули, тоесть если вводят 00010, это число будет хранится как 10. Если вам нужно количество цифер с лидирующими нулями, то при вводе проверяйте ввели число или нет и получайте длину строки, если число отрицательно, то длина строки - 1
0
|
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
11.07.2015, 14:19 | 8 |
Значит задача не в определении разрядности числа и работа ведется вообще не с числом.
Напишите, в чем состоит задача — тогда будет более понятно, какое решение лучше посоветовать.
0
|
25 / 25 / 22
Регистрация: 22.02.2015
Сообщений: 125
|
|
11.07.2015, 22:34 [ТС] | 9 |
Написал сумбурно, не то подразумевал под разрядностью.
Если перефразировать, то мне нужно определить количество цифр в числе вместе с лидирующими нулями, если их ввел пользователь, то есть, например, если пользователь ввел 0111, мне нужно чтобы программа выдала, что тут 4 цифры, а не три, как было бы при определении разрядности.
0
|
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
||||||
11.07.2015, 23:05 | 10 | |||||
Сообщение было отмечено Legend072 как решение
Решение
Legend072, тогда все просто: работайте со строкой и проверяйте ее на то, чтобы она состояла только из цифр, после чего возвращайте ее длину:
2
|
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
11.07.2015, 23:35 | 12 |
Psilon, я не знаю его уровень знаний, потому тут два варианта:
1. Запутать сложной конструкцией новичка. 2. Обидеть "детской" конструкцией более-менее знающего. Предпочитаю первый вариант — если станет непонятно, то здесь никто не кусается и за вопросы денег не берет — попросит разъяснить и получит или разъяснение, или более простую конструкцию, или, что чаще всего случается, и то и другое Да и незнакомый код подстегнет интерес к дальнейшему изучению языка
0
|
Master of Orion
|
|
12.07.2015, 00:40 | 13 |
По уровню вопроса, равно как и о его постановке, можно судить об ожидаемом уровне восприятия :dunno:
разве что... Хотя многоточие все равно не является частью языка (хотя после С++ и переопределением всего я начинаю в этом сомневаться).
0
|
25 / 25 / 22
Регистрация: 22.02.2015
Сообщений: 125
|
|
12.07.2015, 13:44 [ТС] | 14 |
Простое и эффективное решение, я сам сделал через свойство Length, но без проверки из чего состоит строка.
Ваш вариант мне нравится больше своего. Спасибо большое всем за ответы!
0
|
12.07.2015, 13:44 | |
12.07.2015, 13:44 | |
Помогаю со студенческими работами здесь
14
Выдать сообщение о разрядности введенного числа Разработать представление числа произвольной разрядности списком Какая из двух частей числа разрядности больше Проверить сумма какой из половин числа разрядности больше Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |