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

Неправильно идёт подсчёт в модуле математики - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оптимизация программы http://www.cyberforum.ru/cpp-beginners/thread952390.html
Здравствуйте,задали задачку :Напишите программу, которая будет выполнять последовательность запросов вида ADD num, PRESENT num и COUNT (без параметра). Программу обязательно следует писать с использованием шаблонного типа set. Я ее написал все работает правильно,но проблемка в том,что слишком долго выполняется,а именно 2.072 сек, когда должно долю секунды,подскажите что нужно изменить чтобы...
C++ Ошибка экземпляра класса: отсутствие ";" перед идентификатором "o_scenes_1" В программе есть два класса, для каждого создано по одному экземпляру. Почему-то в месте создания каждого из экземпляров выдает ошибку: error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "o_scenes_1" Подскажите, если кто знает, что не так http://www.cyberforum.ru/cpp-beginners/thread952366.html
C++ реализовать по диаграме классов
не знаю как в си++ интрефейс этот реализовывать. то как я это вижу, но не законченный вариант ибо не знаю как этот интрефейс сделать class WeaponBeh; class character { WeaponBeh weap; public: void virtual fight()=0;
Инициализация по стандарту C++11 C++
Здравствуйте ув. форумчане. Читаю Прата С. Язык программирования С++ Лекции и упражнения 2012. В разделе "Инициализация в C++11", написано следующее: Использование инициализатора с фигурными скобками для переменной, имеющей единственное значение, не было повсеместной практикой, но стандарт C++11 расширяет этот способ. Во-первых, такой инициализатор можно применять с или без знака =...
C++ Действие конструктора вобще не понял http://www.cyberforum.ru/cpp-beginners/thread952351.html
Вобще не понял, зачем нужен конструктор. Ведь написано Как же инициализировать переменные-члены класса? Для этого в классе используется специальная функция-член, называемая конструктором. Я думал, конструктор нужен только потому, что в классе нельзя написать просто int initialAge=5 и как- либо работать с переменной. Я теперь наоборот в легком шоке. Переменную, инициализированную в...
C++ Возрастающая последовательность Задание: Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. Код свой прикрепить не могу. Нужны простые примеры решения задания. Спасибо! :) подробнее

Показать сообщение отдельно
Jack Wade
61 / 34 / 6
Регистрация: 24.02.2013
Сообщений: 250
11.09.2013, 14:30     Неправильно идёт подсчёт в модуле математики
Подскажите пожалуйста... В программе у меня, когда я ввожу например число 10, у меня в синусе выводится (-0.544), однако, на самом деле, должно было быть около 0.1736...
А в арккосинусе вообще -1.#I0... Вот это-явно проблема...
Подскажите, в чём проблема?
Кликните здесь для просмотра всего текста

Я ввожу сразу в double, использую функции математики с double и вывожу в double по средствам функции printf...
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
#include "stdafx.h"//#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <locale.h>
#include <stdio.h>
#include <Windows.h>
double Result=0.0;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
 
    printf("Введите Ваше исходное число: ");
    scanf("%lf", &Result);
    system("cls");
    printf("Вы ввели следующее число = %0.3lf\n", Result);
    Sleep(1250);
    system("cls");
    printf("ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ\n");
    printf("Синус Вашего числа равен = %0.3lf\n", (sin(Result)));
    printf("Косинус Вашего числа равен = %0.3lf\n", (cos(Result)));
    printf("Тангенс Вашего числа равен = %0.3lf\n", (tan(Result)));
    printf("Арккосинус Вашего числа равен = %0.3lf\n", (acos(Result)));
    printf("Арксинус  Вашего числа равен = %0.3lf\n", (asin(Result)));
    printf("Арктангенс Вашего числа равен = %0.3lf\n\n", (atan(Result)));
    printf("БАЗОВЫЕ ФУНКЦИИ:\n");
    printf("Модуль Вашего числа равен = %0.3lf\n", (abs(Result)));
    printf("Экспонента Вашего числа равна = %0.3lf\n", (exp(Result)));
    printf("Натуральный логарифм Вашего числа равен = %0.3lf\n", (log(Result)));
    printf("Квадратный корень Вашего числа равен = %0.3lf\n", (sqrt(Result)));
    printf("Ваше число в 9-й степени равно = %0.3lf\n", (pow(Result, 9)));
//Отображать мне нужно(хотелось бы, по крайней мере) так, что бы после точки, отображалось только 3 числа...
    system("pause");
    return 0;
}

P.S. Я подозреваю на размерность double, но навряд ли... Скорее всего, причина в выводе данных на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru