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

Дано рандомное вещественное число P, найти число M после запятой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изменение переменной каждые n раз http://www.cyberforum.ru/cpp-beginners/thread1543480.html
Надо чтобы переменная инкрементировала своё значение, когда другая переменная увеличивает своё значения на 5 (т.е. 5,10,15,20,25...) Вот типо этого: if s = 5 {a++}; if s = 10 {a++}; if s = 15...
C++ Ромб в множественном наследовании Добрый день ! Не помню как устранить проблему ромба в множественном наследовании. Вроде нужно втулить куда-то слово виртуал 2 раза идет вызов конструктора класса А. первый с конструктора В... http://www.cyberforum.ru/cpp-beginners/thread1543474.html
Шифр Цезаря (пароль) C++
Помогите сделать, пожалуйста. Чтобы пароль заменялся звездочками. П.5.18 Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
C++ Проверить является ли заданное число простым
помогите плиз!) Дано натуральное число N, проверить простое оно или нет . Увеличить его значение на натуральное число M. Проверить осталось ли оно простым (функцией оформить проверку числа: функция...
C++ Построить и вывести СДНФ для формулы алгебры логики http://www.cyberforum.ru/cpp-beginners/thread1543446.html
В текстовом файле записан последний столбец таблицы истинности некоторой формулы алгебры логики для 3 переменных(например,P\vee \left(Q\wedge R \right)).Построить и вывести СДНФ для заданной формулы...
C++ Структурная обработка исключений допустим есть такой код, я пытаюсь структурное исключение преобразовать в обычное, путем отлова, но у меня почему то не ловит его :( void f(char *dest, const char *source, size_t size) { __try... подробнее

Показать сообщение отдельно
Геомеханик
622 / 429 / 310
Регистрация: 26.06.2015
Сообщений: 968
03.10.2015, 17:54
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
#include <iostream>
#include <cstdio>
 
bool find_n(double P, int M, int N){
    char fmt[16], snum[32], *p;
    std::sprintf(fmt, "%%.%dlf", N);
    std::sprintf(snum, fmt, P);
 
    for(p = &snum[0]; *p; ++p){
        if(*p == '.' || *p == ','){
            ++p;
            break;
        }
    }
 
    if(*p){
        for(int i = 0; *p && (i < N); ++i, ++p){
            if((int)(*p - '0') == M)
                return true;
        }
    }
    return false;
}
 
int main(void){
    double P = 999.01234;
    int    N = 5;
    int    M = 3;
 
    if(find_n(P, M, N))
        std::cout << "Yes.";
    else
        std::cout << "Not!";
    return 0;
}
Пример работы кода
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru