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

Работа с циклами для вычисления выражения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В массиве целых положительных чисел определить положение наиболее длинной группы http://www.cyberforum.ru/cpp-beginners/thread1115395.html
В массиве целых положительных чисел, упорядоченных по возрастанию, определить положение наиболее длинной группы, является отрезком натурального ряда чисел.
C++ Составить программу для подсчета суммы и количества четных элементов линейной таблицы Y http://www.cyberforum.ru/cpp-beginners/thread1115385.html
C++ Инициализация массива. Длина строки
Ребят, добрый день. Ломаю голову и не могу сообразить, как в массив занести не констант. строчку? Ну т.е не константой, например: mas = "Это сообщение", и потом вычислять размер, а что бы строку...
Динамическое расположение файла C++
Добрый день, Возникла такая необходимость: Есть задача на считывание файла и работы с данными, но местоположение файла и имя неизвестны. Есть ли возможность сделать так, чтоб пользователь сам...
C++ Задача на теорию чисел http://www.cyberforum.ru/cpp-beginners/thread1115368.html
Торт от Толи Толя на день рождения собирается угостить друзей тортом. Известно, что на дне рождения может быть либо N, либо M человек, включая самого именинника. На какое минимальное количество...
C++ Курсовая работа. Численные методы. Уплотнение таблиц функций Добрый день,многоуважаемые программисты,сисадмины и просто пользователи! Хотелось бы услышать ваши советы по поводу написания курсового проекта,по численным методам,на тему "Уплотнение таблиц... подробнее

Показать сообщение отдельно
Maxvik_Grunge
1 / 1 / 0
Регистрация: 10.03.2014
Сообщений: 30
10.03.2014, 18:10  [ТС]
Tulosba, Такой вопрос,у меня вот такой код :
Заголовок :
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
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
using namespace std;
char menu()  //объявление функции menu() (заголовок функции)
{   //тело функции--------------------------------------
    char choice;
    cout<<"1.Constants\n";
    cout<<"2.Variables\n";
    cout<<"3.Conditions\n";
    cout<<"4.Cycles\n";
    cout<<"5.Exit\n";
    cout<<"Your choice ->";
    cin>>choice;
    cout<< endl;
    return choice;
}
//функция вычисления факториала
double fact( int i )
{
    double ret = 1;
    while( i )
    {
        ret *= i--;
    }
    return ret;
}
//Библиотечная функция double cos(double x)
double mycos( double x )
{
    const double eps = 1e-5;
    double res = 0;
    int i = 0;
    double term = 0;
    return res;
}
Реализация:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include "work__2.h"
 
int main()
{
    char number; //  вызов функции menu()
    do
    {
        number = menu();
        switch ( number ) // анализ значения nubmer
        {
        case '1': {
        // объявление констант----------
            const short SHORT(-20);
            const unsigned short UNshort(60000);
            const int INT(589);
            const unsigned int UNint(985);
            const long LONG(-123456789);
            const unsigned long UNlong(1789541312);
            const float FLOAT(1.156983F);
            const double DOUBLE(0.1597536450);
            const char CHAR('2');
            const unsigned char UNchar('3');
            const bool BOOL(true);
        // вывод констант-----------------
            cout<<SHORT<<endl;
            cout<<UNshort<<endl;
            cout<<INT<<endl;
            cout<<UNint<<endl;
            cout<<LONG<<endl;
            cout<<UNlong<<endl;
            cout<<FLOAT<<endl;
            cout<<DOUBLE<<endl;
            cout<<CHAR<<endl;
            cout<<UNchar<<endl;
            cout<<BOOL<<endl;
            cout<< endl;
            break;
                  } //Конец case '1'
        case '2':
            {
            //объявление переменных------------
                unsigned int UNint;
                bool BOOL;
                float FLOAT;
            //ввод переменных------------------
                cout<<"Enter UNint data type-> ";
                cin>>UNint;
                cout<<"Enter BOOL data type-> ";
                cin>>BOOL;
                cout<<"Enter FLOAT data type-> ";
                cin>>FLOAT;
                cout<< endl;
            //вывод переменных---------------------
                cout<<"UNint= ";cout<<UNint<<endl;
                cout<<"BOOL= ";cout<<BOOL<<endl;
                cout<<"FLOAT= ";cout<<FLOAT<<endl;
                cout<< endl;
                break;
            }//конец case'2'
        case '3':
            {
                double DOUBLE_1,DOUBLE_2,DOUBLE_3; //объявление переменных типа double(с плавающей точкой,двойной точности)
             //ввод переменных------------
                cout<<"DOUBLE_1= ";
                cin>>DOUBLE_1;
                cout<<"DOUBLE_2= ";
                cin>>DOUBLE_2;
                cout<<"DOUBLE_3= ";
                cin>>DOUBLE_3;
                if (DOUBLE_1 < DOUBLE_2 && DOUBLE_1 < DOUBLE_3)//Если 1 переменная меньше 2 и 3 то
                {
                cout<<"MIN= ";cout<<DOUBLE_1<<endl;//Вывести вывести 1 переменную
                }
                else if (DOUBLE_2 < DOUBLE_1 && DOUBLE_2 < DOUBLE_3)//Иначе если 2 переменная меньше 1 и 3 то
                {
                cout<<"MIN= ";cout<<DOUBLE_2<<endl;//вывести 2 переменную
                }
                else if (DOUBLE_3 < DOUBLE_1 && DOUBLE_3 < DOUBLE_2)//иначе если 3 меньше 2 и 1 то
                {
                cout<<"MIN= ";cout<<DOUBLE_3<<endl;//вывести 3 переменную
                }
                break;
            }//Конец case '3'
        case '4':
            {//цикл с while
               double x;
               const double eps = 1e-5;
               double res = 0;
               int i = 0;
               double term = 0;
               cout<<"x= ";
               cin>>x;
               while ( abs(term) > eps )
                    {
                        term = pow( x, i*2 ) / fact( 2*i );
                        term = i & 1 ? -term : term;
                        res += term;
                        i++;
                    }
                    cout << "mycos( " << x << " ) = " << mycos(x) <<endl;
                    cout << "cos( " << x << " ) = " <<cos(x) <<endl;
                    break;
                    
            }
 
        }
    }while (number !='5');//Конец цикла при вводе символа 5.
}

У меня вроде как работает,но результат вычисления не проверяется через библиотечную функцию,как у вас было,
cout << "mycos( " << x << " ) = " << mycos(x) <<endl; он выводит 0,я конечно понимаю что я торможу,просто голова кругом уже,но охота доделать со всеми циклами и разобраться.В чем я ошибся ?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru