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

Интервалы. Где дыра в алгоритме ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Всё просто http://www.cyberforum.ru/cpp-beginners/thread207452.html
Напечатать все простые числа, не провосходящее заданое число М..... вот код #include <iostream> #define N 150 int main(void)
C++ Массивы Одномерный массив-Вычислить среднее арифметическое элементов массива Х, расположенных между его минимальным и максимальным значениями. Если минимальный элемент размещается в массиве раньше... http://www.cyberforum.ru/cpp-beginners/thread207446.html
C++ Код Хэмминга кодер-декодер
Требуется создать кодер-декодер по коду Хэмминга. Почитал, вроде ничего сложного. Теперь надо написать.
Определить значения и адреса элементов массива, вычисляемых по формуле C++
Определить значения и адреса элементов массива, вычисляемых по формуле х(катое)=а(в степени к)/к(факториал).
C++ ВЫЧИСЛЕНИЕ ИНТЕГРАЛА http://www.cyberforum.ru/cpp-beginners/thread207428.html
пОМОГИТЕ С ПРОГРАММОЙСоставить таблицу значений следующей функции: ∫_0^x▒√(1+2t^2 )dt Здесь аргумент принимает значения от 1 до 2 с шагом h=0.05
C++ матрица, и вывод из\в фаил не работает так как хотелось бы(, а в чем проблемы я не могу понять((, когда начинает считать матрицу введенную с клавиатуры, просто берет и вылетает, а ошибки как таковой я не нахожу(. пожалуйста... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
10.12.2010, 02:19
Не знаю что вы имели в виду под "промежутком", но, так как скобки круглые, я сделал для интервала:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <limits>
//////////////////////////////////////////////////////////////////////////////////////
template<class T>
bool  equal_to_for_real(T a, T b) 
{
    const T  coef = 10;
    return abs(a - b) < std::numeric_limits<T>::epsilon() * coef;
}
/////////////////////////////////////////////////////////////////////////////////////
template<class T>
bool  greater_for_real(T a, T b) 
{
    return a > b
           && !equal_to_for_real(a, b);
}
/////////////////////////////////////////////////////////////////////////////////////
template<class T>
bool  less_for_real(T a, T b) 
{
    return a < b
           && !equal_to_for_real(a, b);
}
/////////////////////////////////////////////////////////////////////////////////////
template<class T>
bool  greater_equal_for_real(T a, T b) 
{
    return !less_for_real(a, b);
}
/////////////////////////////////////////////////////////////////////////////////////
template<class T>
bool  less_equal_for_real(T a, T b) 
{
    return !greater_for_real(a, b);
}
/////////////////////////////////////////////////////////////////////////////////////
 
int main()
{
    std::locale::global(std::locale(""));
    srand(static_cast<unsigned>(time(0)));
    double  left_real   = 0;
    double  right_real  = 0;
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
 
    do
    {
        a = rand() % 10;
        b = rand() % 9 + 1;
        c = rand() % 10;
        d = rand() % 9 + 1;
        left_real   = static_cast<double>(a) / b;
        right_real  = static_cast<double>(c) / d;
    }while(greater_for_real(left_real, right_real));
 
    int  left_int   = (a % b == 0) ? (a / b + 1) : static_cast<int>(ceil   (left_real   ));
    int  right_int  = (c % d == 0) ? (c / d - 1) : static_cast<int>(floor  (right_real  ));
 
    int  int_nums_count = (left_int <= right_int) ? right_int - left_int + 1 : 0;
 
    std::cout << "Количество целых чисел в интервале ("
              << a
              << "/"
              << b
              << ", "
              << c
              << "/"
              << d
              << "), "
              << std::endl 
              << "т.е. ("
              << left_real
              << ", "
              << right_real
              << ") равно: "
              << int_nums_count
              << std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru