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

Программа не слушается своего создателя! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расставить между числами знаки "+" и "-" так, чтобы значение получившегося выражения было равно заданному целому S http://www.cyberforum.ru/cpp-beginners/thread897986.html
Даны N целых чисел X1, X2, ..., XN. Расставить между ними знаки "+" и "-" так, чтобы значение получившегося выражения было равно заданному целому S. Ограничения: 2 <= N <= 24, 0 <= Xi <= 50 000...
C++ Операция постинкремента Как правильно реализовать операцию постинкремента, или же в данном коде всё верно? Меня смущает тот факт, что функция сохраняет объект "Person" в static, те не уничтожает его, ибо по другому... http://www.cyberforum.ru/cpp-beginners/thread897984.html
C++ Передача массива объектов функции
Выбивает о каком-то недопустимом внешнем символе, подскажите что не так. Вот цикл, который прогоняет массив. user = new Students; for (int i=1;i<=n;i++) { input(*user,i); }; Вот сама...
Возврат ссылки C++
Задача которая считывает массив и определяет минимальный, макисмальный, первый отрицательный элемент, и их индексы. По заданию надо ее сделать двумя способами. С возвратом указателя, и возвратом...
C++ Ошибка кода http://www.cyberforum.ru/cpp-beginners/thread897977.html
Имеется код из файла формата .cpp Когда имеющийся код копирую в проект, с++ выделяет строчку fscanf(InFile, "%f", &x); Нашел пример как исправить - int fscanf ( FILE * stream, const char *...
C++ Использование Timsort Задача:отсортировать массив Тимсортом, нашел код но при применении выдает ошибку "Ошибка 9 error C2664: tim_sort: невозможно преобразовать параметр 1 из "int " в "std::vector<_Ty> &" void... подробнее

Показать сообщение отдельно
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555

Программа не слушается своего создателя! - C++

10.06.2013, 22:50. Просмотров 280. Ответов 2
Метки (Все метки)

Вообщем написал прогу, округляет число до указаного знака после запятой. Прога работает нормально в "мягком" диапазоне (до 8 цифр), а как только больше цифр сразу начинает выделыватся
Супер секретный код!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double round (double a, double b) 
{
    const int q=10;
    a*=(int)pow(q,b+1);
    int k=(int(a)%q);
    if (k>=5) {
        a+=(q-k);
        return a/pow(q,b+1);
        }
    else {
        a=int(a/q);
        return a/pow(q,b);
        }
}

ну например round(123.1234,3) вернет 123.123-тоесть все норм, а вот round(1234.1234,3) вернет 1234.12-что не есть хорошо. ну 8 цифров как бы намекают на чтото связаное с максимальным допустимым диапазоном в типе данных, например инт. я так прикидывал вроде в 2 млрд. вкладываюсь, но я вообщем нуб в этом деле, так что подскажите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru