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

Суммировать слагаемые при фиксированном параметре x - C++

Восстановить пароль Регистрация
 
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
21.01.2013, 16:10     Суммировать слагаемые при фиксированном параметре x #1
Пожалуйста помогите!!!!!!!!!!!!!!!!!! Я здесь пытался что-то сделать но увы((((( черновая работа, если нечего неправильно сделайте плиизззз. правильно или хотя бы ссылку киньте на похожий пример.
1. Алгоритм решения задачи сводится к трем циклам, причем два из них вложены в третий. Внешний цикл организует изменение параметра х. Внутренние циклы суммируют слагаемые при фиксированном параметре x (первый цикл  арифметический для заданного n, второй  итерационный для заданной точности ). При организации этих циклов следует обратить внимание на правильный выбор способа вычисления очередного слагаемого zn (в зависимости от его вида) и правильное присвоение начальных значений переменным цикла.
2. Написать программу для решения задачи с использованием функций. В основной программе внутри цикла по переменной x вызываются поочередно функции для вычисления Sn (зависит от параметров x и N), Se (зависит от параметров x и e), и S (зависит от параметра x), а затем на экран выводятся полученные значения.
3. Написать программу для решения задачи с использованием механизма перегрузки функций (все три функции имеют одинаковое имя, но различаются по типу и количеству параметров).
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
 
 
using namespace std;
int main()
{
    cout <<setlocale(0, "Russian");
    cout<<"5555555"<<endl;
    cout<<endl;
 
    double a, b, eps, x, h,Z;
    int N; //число слагаемых
    do
    {
        cout<<"Введите начальное значение уравнения A: ";
        cin>>a;
        cout<<"Введите конечное значение уравнения B: ";
        cin>>b;
    }while(a>=b);
    
    h=(b-a)/10; //вычисление шага
    cout<<"Eps от 0.0001 до 0.1"<<endl;
    
    do
    {
        cout<<"Введите eps: ";
        cin>>eps;
    }while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
    do
    {
        cout<<"Введите кол-во слагаемых N: ";
        cin>>N;
    }while(N<1);
 
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Sn";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Se";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S"<<endl;
    
    for (x=a; x<=b; x+=h)
    double change (int N,  double x);
{
     double Sn=1;
         double a=1;
         double h=1;
         double log3=log3;
        for (int i=1; i<=N; i++)
        {
            a=a*(log3*x)/h;
            Sn=Sn+a;
            h=h+1;
        return Sn;
        }
        
        double change (double x,  double eps);
        { 
         double Se=1;
         double a=1;
         double h=1;
         double log3=log3;
         int value=N;
        void print (char Symbol=' ', int value=10);
        for (int i=1;  i<=value; i++);
        int i=1;
         do
            
        {
        a=a*(log3*x)/h;
        Se=Se+a;
        h=h+1;
        i++;
        }while (eps<fabs(a)>eps);
        Se*=2;
        double change (double x);
        double S= 3*x;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (N,x);
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (x,eps);
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S<<endl;
    }
    system("pause");
    return 0;
}
[
Миниатюры
Суммировать слагаемые при фиксированном параметре x  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
21.01.2013, 16:16     Суммировать слагаемые при фиксированном параметре x #2
Напиши что не получилось - то, а то задания дал, код дал если я за тебя и ошибки ещё искать буду то тогда по законам "Двое из ларца одинаковых с лица" я должен и баллы за тебя получать.
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
22.01.2013, 10:59  [ТС]     Суммировать слагаемые при фиксированном параметре x #3
да у меня ошибки с перезагрузкой , мне на до вызвать с начало Sn c парамертом (N,x), потом Se парам(х, eps), потом с S парам(х)
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
double change (int N,  double x);    вот начальный вызов  с парамерами                    
{
     double Sn=1;
         double a=1;
         double h=1;
         double log3=log3;
        for (int i=1; i<=N; i++)         это незнай надо изменять нет как во второй функции
        {
            a=a*(log3*x)/h;
            Sn=Sn+a;
            h=h+1;
        return Sn;
        }
        
        double change (double x,  double eps);      вот начальный вызов  с парамерами 
        { 
         double Se=1;
         double a=1;
         double h=1;
         double log3=log3;
         int value=N;                            может и не надо присваивать value к N
        void print (char Symbol=' ', int value=10);    вот конечный вызов не могу сделать
        for (int i=1;  i<=value; i++);
        int i=1;
         do
            
        {
        a=a*(log3*x)/h;
        Se=Se+a;
        h=h+1;
        i++;
        }while (eps<fabs(a)>eps);
        Se*=2;
        double change (double x);   а с х   совсем не знаю что делать, может расписать также как функцию se
        double S= 3*x;
вот такие у меня проблеммы вот такой пока фиговый программист я, только начал изучать язык программирование
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,207
Завершенные тесты: 1
22.01.2013, 13:08     Суммировать слагаемые при фиксированном параметре x #4
Похоже, что Вы имели ввиду что-то типа
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
//--------функция change(int N,  double x)------------------------------------------
double change(int N,  double x)
{
     double Sn=1;
     double a=1;
     double h=1;
     double log3=log(3.);
     for (int i=1; i<=N; i++)
     {
            a=a*(log3*x)/h;
            Sn=Sn+a;
            h++;
     }
     return Sn;
 }
 // -------- функция change (double x,  double eps) -------------------------------       
 double change (double x,  double eps)
 { 
         double Se=1;
         double a=1;
         double h=1;
         double log3=log(3.);
//       int value=N;
//       void print (char Symbol=' ', int value=10);
        do
        {
            a=a*(log3*x)/h;
            Se=Se+a;
            h++;
        }while (fabs(a)>eps);
        Se*=2;
        return Se;
 }
// -------- функция change (double x) -------------------------------       
  double change (double x)
 {
        return 3.*x;
 }
//--------------------------------------------------
int main()
{
    cout <<setlocale(0, "Russian");
    cout<<"5555555"<<endl;
    cout<<endl;
 
    double a, b, eps, x, h,Z;
    int N; //число слагаемых
    do
    {
        cout<<"Введите начальное значение уравнения A: ";
        cin>>a;
        cout<<"Введите конечное значение уравнения B: ";
        cin>>b;
    }while(a>=b);
    
    h=(b-a)/10; //вычисление шага
    cout<<"Eps от 0.0001 до 0.1"<<endl;
    
    do
    {
        cout<<"Введите eps: ";
        cin>>eps;
    }while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
    do
    {
        cout<<"Введите кол-во слагаемых N: ";
        cin>>N;
    }while(N<1);
 
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Sn";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Se";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S"<<endl;
    
    for (x=a; x<=b; x+=h)
    {
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< x;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (N,x);
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (x,eps);
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change(x)<<endl;
    }
    system("pause");
    return 0;
}
Главная ошибка: функции - это отдельные модули и не надо их запихивать внутрь других функций
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
22.01.2013, 16:03  [ТС]     Суммировать слагаемые при фиксированном параметре x #5
спасибо большое при большое за решение
Yandex
Объявления
22.01.2013, 16:03     Суммировать слагаемые при фиксированном параметре x
Ответ Создать тему
Опции темы

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