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

Проблемма с функцией,подскажите что не так - C++

Восстановить пароль Регистрация
 
sanya04
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 22
18.06.2013, 16:11     Проблемма с функцией,подскажите что не так #1
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
#include "stdafx.h"
#include<iostream>
#include <clocale>
#include <cmath>
using namespace std;
 
 
 
 
void input (double x, double e);
//функция для ввода значений
 
double solut (double &result,double &tochnost,double &e,double &x);
//решение 
 
void output(double result,double tochnost);
//функция для вывода результата
 
 
void main()
{
    setlocale(LC_ALL, "Russian");
double x=0,e=0,tochnost,result;
input(x,e);
solut(tochnost,result,x,e);
result=solut(x,e,tochnost,result);
tochnost=solut(x,e,tochnost,result);
output (result,tochnost);
 
 
 
}
 
 
void input (double x, double e)
{double alf=0;
cout<<"Введите значение альфа: ";
    cin>>alf;
    cout << "x = ";
    cin >> x;   
    cout << "Точное e = ";
    cin >> e; // 0.01, 0.001, 0.0001 
}
 
double solut (double &result,double &tochnost,double &e,double &x)
{
    double n=0, fact=0, j,alf=0; // n - степень
double a = 1, slagaemoe,k=n;
slagaemoe = cos(alf);
    while(fabs(slagaemoe)>e)
    {                       
    result = result + slagaemoe;    
    n++; 
    k=n;
    j=1; // счётчик факториала
    fact=1;
    while(j<=k) 
        {       
            fact=fact*j;
            j++;            
    //}     
        a = a*x;        
 
        slagaemoe = a*cos(k*3.14/2+alf)/fact;
    }
        return (tochnost);
        
 
}
}
void output (double result,double tochnost)
{
cout << endl << result << endl << tochnost << endl;
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 16:11     Проблемма с функцией,подскажите что не так
Посмотрите здесь:

Подскажите что не так? C++
Подскажите, что не так? C++
C++ Подскажите что не так ?
Подскажите, что не так C++
Подскажите что с рекурсией не так C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
18.06.2013, 18:56     Проблемма с функцией,подскажите что не так #2
sanya04, функция input должна принимать не значения x и e, а ссылки на них:
C++
1
void input (double& x, double& e);
sanya04
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 22
18.06.2013, 20:04  [ТС]     Проблемма с функцией,подскажите что не так #3
Цитата Сообщение от anmartex Посмотреть сообщение
sanya04, функция input должна принимать не значения x и e, а ссылки на них:
C++
1
void input (double& x, double& e);
Спасибо! А можете еще подсказать где ошибки в программе??
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
19.06.2013, 04:09     Проблемма с функцией,подскажите что не так #4
Цитата Сообщение от sanya04 Посмотреть сообщение
Спасибо! А можете еще подсказать где ошибки в программе??
Так я даже постановку задачи не знаю.
sanya04
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 22
19.06.2013, 15:09  [ТС]     Проблемма с функцией,подскажите что не так #5
Разработать алгоритм решения задачи суммирования ряда. Реализовать алгоритм
на языке С++ с помощью функции с параметрами: в качестве параметров выступают аргумент и точность вычислений.
Функция может быть с типом (возвращает значение результата) или void-функцией.
В главной функции должен быть реализован только ввод данных (аргумент и точность вычислений) с
клавиатуры и вывод результатов на экран.
вычислить сумму ряда с точностью е (е=0.01; 0.001; 0.0001) и сравнить результаты с точным значением.
Миниатюры
Проблемма с функцией,подскажите что не так  
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
19.06.2013, 18:53     Проблемма с функцией,подскажите что не так #6
Как-то так:
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
#include <iostream>
#include <clocale>
#include <cmath>
 
using namespace std;
 
void input(double& alpha, double& x, double& e);
double solut(double alpha, double x, double e);
 
int main()
{
   double alpha, x, e;
 
   input(alpha, x, e);
 
   cout << "result: " << solut(alpha, x, e) << endl;
 
   return 0;
}
 
void input(double& alpha, double& x, double& e)
{
   cout << "Введите значение альфа: ";
   cin >> alpha;
   cout << "x = ";
   cin >> x;
   cout << "Точное e = ";
   cin >> e;
}
 
double solut(double alpha, double x, double e)
{
   double result = 0.0;
 
   unsigned fact = 1;
   double localX = 1;
   unsigned n = 1;
 
   double summand = cos(alpha);
 
   while (fabs(summand) > e)
   {
      result += summand;
      summand = localX * cos(alpha + n * 3.14 / 2) / fact;
 
      fact *= ++n;
      localX *= x;
   }
 
   return result;
}
Yandex
Объявления
19.06.2013, 18:53     Проблемма с функцией,подскажите что не так
Ответ Создать тему
Опции темы

Текущее время: 16:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru