0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5
|
||||||
1 | ||||||
Наличие введенной цифры в дробной части числа26.12.2009, 19:27. Показов 2608. Ответов 15
Метки нет (Все метки)
Доброго времени суток, уважаемые!
Помощь нужна в следующем: Пользователь вводит число типа double. Далее вводит некую цифру M. Требуется определить, сколько раз введенная цифра встречается в дробной части нашего числа. Вот мой вариант, но он неэффективен, если в числе присутствует нуль:
Направьте на путь истинный =) Заранее спасибо!
0
|
26.12.2009, 19:27 | |
Ответы с готовыми решениями:
15
Найти произведение первой цифры целой части и третьей цифры дробной части вещественного числа Вывести 3 цифры из дробной части вещественного числа Получить определенные цифры дробной части числа Нахождение первой цифры дробной части числа с плавающей точкой |
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
|
26.12.2009, 20:10 | 2 |
могу посоветовать ввести ограничение на i.
1
|
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5
|
|
26.12.2009, 20:30 [ТС] | 3 |
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
26.12.2009, 20:35 | 4 |
Floom, Со строками не хотите попробовать решить?
0
|
24 / 24 / 1
Регистрация: 25.12.2009
Сообщений: 86
|
|
26.12.2009, 20:39 | 5 |
Преобразуй дробную часть в строку и потом при помощи strncmp() сравнивай каждую цифру с твоей и считай, сколько раз совпала
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
26.12.2009, 20:41 | 6 | |||||
Вот так можно, только с длинными числами как-то криво работает...
1
|
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5
|
||||||
26.12.2009, 21:06 [ТС] | 7 | |||||
Преобразовать при помощи чего? Я пробовал ввести char str[10] и потом sprintf(str, "%d", P), но в str функция записывала только 8 символов, как я написал выше.
Добавлено через 6 минут easybudda, работает в принципе нормально, но вот опять проблема, если в дробной части будет 0, то уже идет не так. По пути, который я тут выложил, мне посоветовали пойти. Я сначала пробовал переводить в строку, чтобы избежать нулевого элемента, да и здесь тоже советуют строки использовать, но вот какой функцией лучше перевести... Добавлено через 14 минут Вот, посмотрите, пожалуйста. Это вариант со строками и массивом. Знаю, неэффективен также из-за того, что памяти много тратится, но пофигу, главное, чтоб работало. Но вот почему-то sprintf берет только 8 символов.
0
|
24 / 24 / 1
Регистрация: 25.12.2009
Сообщений: 86
|
||||||
26.12.2009, 21:07 | 8 | |||||
Например так можно из double в string перевести. Дальше - дело техники =)
1
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
26.12.2009, 21:09 | 9 |
Floom, А зачем переводить. Сразу считывайте, например, в переменную типа char p[10] первое значение. А второе считывать в переменную типа char m
1
|
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5
|
|
26.12.2009, 21:24 [ТС] | 10 |
Огромное спасибо отписавшимся, буду пробовать.
0
|
24 / 24 / 1
Регистрация: 25.12.2009
Сообщений: 86
|
||||||
26.12.2009, 21:26 | 11 | |||||
Если не получится, как вариант
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
26.12.2009, 21:26 | 12 |
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
26.12.2009, 21:31 | 14 |
Floom, Кстати проверил код easybudda не нашел там недочетов в работе. Все работает правильно.
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
26.12.2009, 21:40 | 15 | |||||
Floom, На С и не заморачиваясь проверками вот так бы могло выглядеть
0
|
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5
|
|
26.12.2009, 21:46 [ТС] | 16 |
easybudda, Прошу прощения, конечно, всё работает правильно.
Сделаю два варианта. Всё, спасибо еще раз всем огромное за помощь! Вопрос исчерпан.
0
|
26.12.2009, 21:46 | |
26.12.2009, 21:46 | |
Помогаю со студенческими работами здесь
16
Присвоить переменной Х значение первой цифры из дробной части положительного вещественного числа. Найдите в дробной части числа πи порядковый номер каждой цифры, начиная с 1 Проверить наличие введенной цифры в числе Выражение по возвращению старшей цифры дробной части Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |