Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Наличие введенной цифры в дробной части числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вектор из файла! http://www.cyberforum.ru/cpp-beginners/thread80265.html
необходимо чтобы программа считывала вектор из файла,а потом сотртировала его на наличие положительных элементов.Заранее спасибо!
C++ Какая версия С++ подходит к windows 7 Какая версия С++ подходит к windows 7. а то что не скачаю пишет несовместительство????? http://www.cyberforum.ru/cpp-beginners/thread80253.html
имеються ли в последовательности при идущих подряд нулевых члена C++
Составить программу на с++. даны целые числа а1,....,а95. имеються ли в последовательности а1,....,а95 при идущих подряд нулевых члена.
C++ Работа со строками (язык С)
Народ помогите плз решить задачу. Найти в тексте и распечатать названия числительных от 1 до 9 ( "один","два"...."девять"). Добавлено через 3 часа 54 минуты помогите написать програмку плз
C++ таблица сложения одноразрядных чиселв h-ичной системе счисления http://www.cyberforum.ru/cpp-beginners/thread80228.html
Напечатать таблицу сложения одноразрядных чисел в р-ичной системе счисления, р<=16 Систему счисления пользователь водит с клавиатуры, решать не через массив, среда программирования и язык: C++ под...
C++ символьная строка помогите пожалуйста написать программу: В символьной строке оставить только те слова, в которых есть повторяющиеся буквы. подробнее

Показать сообщение отдельно
Floom
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 5

Наличие введенной цифры в дробной части числа - C++

26.12.2009, 19:27. Просмотров 1722. Ответов 15
Метки (Все метки)

Доброго времени суток, уважаемые!
Помощь нужна в следующем:
Пользователь вводит число типа double. Далее вводит некую цифру M. Требуется определить, сколько раз введенная цифра встречается в дробной части нашего числа. Вот мой вариант, но он неэффективен, если в числе присутствует нуль:

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
#include <iostream>
#include <math.h>
int main()
{
    double p;
    int m,buffer,i;
    i=0;
    std::cout << "vvedite p" << std::endl;
    std::cin >> p;
    std::cout << "vvedite m" << std::endl;
    std::cin >> m;
 
    while (buffer!=0)
    {
    P-=floor(P);
    P*=10;
    buffer=floor(P);
    if (M==buffer)
    i++;
    P-=buffer;
      }
    std::cout << i;
    
      return 0;
}
В принципе программа-то простенькая, но не могу придумать, как остановить цикл. Я пробовал сначала переводить дробную часть в char, потом посимвольно переводил в массив и там уже проще было работать, но при использовании sprintf мне выдавалась строка только с 8 элементами, то есть если, допустим, число 3.45464748, то при конвертации получалось только 0 0 4 5 4 6 4 7 =\
Направьте на путь истинный =)
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru