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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
#1

построение таблицы - C++

29.09.2011, 22:18. Просмотров 2395. Ответов 41
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main ()
{
    const int MaxIter=500;
    double  x,eps, dx, Xk, Xn,n;
    cout<<"\nffedite argument i to4nost' :";
    cout<<"\nVVedite Xn"<<endl;
    cout<<"\nVVedite Xk"<<endl;
    cout<<"\nVVedite dx"<<endl;
        cin>>x>>eps>>Xn>>Xk>>dx;
        cout<<"_______________________________"<<endl;
        cout<<"|"<<setw(5)<<"x"<<setw(5)<<"|"<<setw(5)<<"y"<<setw(5)<<"|"<<setw(5)<<"n"<<setw(5)<<"|"<<endl;
        cout<<"_______________________________"<<endl;
            for(x=Xn; x<=Xk; x+=dx);
    bool done= true;
    double ch=1,y=ch;
        for(int n=0; fabs(ch)>eps; n++)
        {
            ch*=((-2)*n)/(2*x*n+x);
            y+=ch;
            if(n>MaxIter)
            {
                
                cout<<"|"<<setw(2)<<endl;
                cout<<"\nryad rasxoditsya!";
                done= false; break;
            }
        }
        if(done)
        {
            
            cout<<"\nZna4enie f-ii:"<<y<<"dlya x="<<x<<endl;
            cout<<"vi4islino posle"<<n<<"itersciy"<<endl;
            cout<<"|"<<setw(2)<<endl;
        }
        return 0;
}
помогите пожалуйста построить таблицу, так чтоб в ней выводилось значение x y n.
X как видно в условии должен меняться.С++ изучаем в универе а что да как толком не объясняют.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2011, 22:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос построение таблицы (C++):

Построение таблицы истинности - C++
Нужно построить таблицу истинности. Таблицу программа вроде строит, но строит только до: при n=3 и 2^n=8, а если уже будет 4 и 16, выдает...

Построение таблицы истинности - C++
Здравствуйте. Задание такое: Построить таблицу истинности булевой функции. Функция вводится пользователем. Это часть программы. ...

Построение сильноветвящегося дерева на основе таблицы отношений - C++
Мое задание состоит в том, чтоби построить дерево, имея таблицу отношений родителя к потомку. Эта таблица находиться в базе данных, а...

Построение таблицы значений для функции с разбиением отрезков - C++
Задача: Построить таблицу значений для функции на отрезке с числом разбиений отрезка m=15. Собственно, прощу объяснить данную...

Построение таблицы истинности булевой функции от нескольких переменных - C++
Перечитал весь форум, но так и не нашел решения данной задачи, помогите пожалуйста. Нужно построить таблицу истинности для булевой...

Построение таблицы значений функции y=f(x) для x на отрезке [a;b] с шагом h - C++
Помогите, пожалуйста, исправить следующую ситуацию: при a=-2, b=1 и h=0.3 на экран не выводится значение функции в крайней точке отрезка...

41
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
06.10.2011, 22:08  [ТС] #31
может быть такое??
0
Миниатюры
построение таблицы  
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.10.2011, 01:35 #32
dx - целое число, из 0.1 сохраняется только целая часть
0
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
07.10.2011, 16:25  [ТС] #33
C++
1
double  x,eps, dx, Xk, Xn,n;
dx действительное число
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.10.2011, 12:47 #34
Цитата Сообщение от takewa
dx действительное число
это я перепутал

новая версия
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
 
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
double func(double x, double eps, long &n, int maxn);
 
int main()
{
    double xn, xk, dx, x, y;
    double eps;
    long n;
    const int maxiter = 500;
    
    xn = 1.0;
    xk = 100.0;
    dx = 0.5;
    eps = 0.1;
    
    cout << setw(10) << "x" << setw(20) << "y" << setw(10) << "n" << endl;
    for (x = xn; x <= xk; x += dx) {
        y = func(x, eps, n, maxiter);
        cout << setw(10) << x << setw(20) << y << setw(10) << n << endl;
    }
    
    return 0;
}
 
double func(double x, double eps, long &n, int maxn)
{
    double summ, val;
    
    summ = 0.0;
    for (n = 1;
         n < maxn && fabs(val = -2 * n / (2 * x * n + x)) > eps;
         n++)
        summ += val;
    return summ;
}
Код
[guest@localhost tests]$ .iso++ t2.cpp -o t
[guest@localhost tests]$ ./t
         x                   y         n
         1            -495.911       500
       1.5            -330.607       500
         2            -247.955       500
       2.5            -198.364       500
         3            -165.304       500
       3.5            -141.689       500
         4            -123.978       500
       4.5            -110.202       500
         5            -99.1822       500
       5.5            -90.1656       500
         6            -82.6518       500
       6.5             -76.294       500
         7                   0         1
       7.5                   0         1
         8                   0         1
       8.5                   0         1
         9                   0         1
       9.5                   0         1
        10                   0         1
      10.5                   0         1
        11                   0         1
      11.5                   0         1
        12                   0         1
      12.5                   0         1
        13                   0         1
      13.5                   0         1
        14                   0         1
      14.5                   0         1
        15                   0         1
      15.5                   0         1
        16                   0         1
      16.5                   0         1
        17                   0         1
      17.5                   0         1
        18                   0         1
      18.5                   0         1
        19                   0         1
      19.5                   0         1
        20                   0         1
      20.5                   0         1
        21                   0         1
      21.5                   0         1
        22                   0         1
      22.5                   0         1
        23                   0         1
      23.5                   0         1
        24                   0         1
      24.5                   0         1
        25                   0         1
      25.5                   0         1
        26                   0         1
      26.5                   0         1
        27                   0         1
      27.5                   0         1
        28                   0         1
      28.5                   0         1
        29                   0         1
      29.5                   0         1
        30                   0         1
      30.5                   0         1
        31                   0         1
      31.5                   0         1
        32                   0         1
      32.5                   0         1
        33                   0         1
      33.5                   0         1
        34                   0         1
      34.5                   0         1
        35                   0         1
      35.5                   0         1
        36                   0         1
      36.5                   0         1
        37                   0         1
      37.5                   0         1
        38                   0         1
      38.5                   0         1
        39                   0         1
      39.5                   0         1
        40                   0         1
      40.5                   0         1
        41                   0         1
      41.5                   0         1
        42                   0         1
      42.5                   0         1
        43                   0         1
      43.5                   0         1
        44                   0         1
      44.5                   0         1
        45                   0         1
      45.5                   0         1
        46                   0         1
      46.5                   0         1
        47                   0         1
      47.5                   0         1
        48                   0         1
      48.5                   0         1
        49                   0         1
      49.5                   0         1
        50                   0         1
      50.5                   0         1
        51                   0         1
      51.5                   0         1
        52                   0         1
      52.5                   0         1
        53                   0         1
      53.5                   0         1
        54                   0         1
      54.5                   0         1
        55                   0         1
      55.5                   0         1
        56                   0         1
      56.5                   0         1
        57                   0         1
      57.5                   0         1
        58                   0         1
      58.5                   0         1
        59                   0         1
      59.5                   0         1
        60                   0         1
      60.5                   0         1
        61                   0         1
      61.5                   0         1
        62                   0         1
      62.5                   0         1
        63                   0         1
      63.5                   0         1
        64                   0         1
      64.5                   0         1
        65                   0         1
      65.5                   0         1
        66                   0         1
      66.5                   0         1
        67                   0         1
      67.5                   0         1
        68                   0         1
      68.5                   0         1
        69                   0         1
      69.5                   0         1
        70                   0         1
      70.5                   0         1
        71                   0         1
      71.5                   0         1
        72                   0         1
      72.5                   0         1
        73                   0         1
      73.5                   0         1
        74                   0         1
      74.5                   0         1
        75                   0         1
      75.5                   0         1
        76                   0         1
      76.5                   0         1
        77                   0         1
      77.5                   0         1
        78                   0         1
      78.5                   0         1
        79                   0         1
      79.5                   0         1
        80                   0         1
      80.5                   0         1
        81                   0         1
      81.5                   0         1
        82                   0         1
      82.5                   0         1
        83                   0         1
      83.5                   0         1
        84                   0         1
      84.5                   0         1
        85                   0         1
      85.5                   0         1
        86                   0         1
      86.5                   0         1
        87                   0         1
      87.5                   0         1
        88                   0         1
      88.5                   0         1
        89                   0         1
      89.5                   0         1
        90                   0         1
      90.5                   0         1
        91                   0         1
      91.5                   0         1
        92                   0         1
      92.5                   0         1
        93                   0         1
      93.5                   0         1
        94                   0         1
      94.5                   0         1
        95                   0         1
      95.5                   0         1
        96                   0         1
      96.5                   0         1
        97                   0         1
      97.5                   0         1
        98                   0         1
      98.5                   0         1
        99                   0         1
      99.5                   0         1
       100                   0         1
[guest@localhost tests]$
0
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
09.10.2011, 21:12  [ТС] #35
это нормально то что нули и единицы??
0
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
09.10.2011, 21:39  [ТС] #36
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
#include <iostream>
#include <cmath>
#include <iomanip>
#include <float.h>
using namespace std;
int main ()
{
const int MaxIter = 500;
double eps=DBL_EPSILON,Xn,Xk,dx;
Xn=1;
Xk=9;
dx=1;
cout<<"_____________________________________"<<endl;
cout<<"|"<<setw(6)<<"x"<<setw(6)<<"|"<<setw(6)<<"y"<<setw(6)<<"|"<<setw(6)<<"n"<<setw(6)<<"|"<<endl;
cout<<"_____________________________________"<<endl;
for(double x=Xn;x<=Xk;x+=dx)
{
double ch=1,y=ch;
for (int n=1; fabs(ch)>eps&&n<MaxIter;n++)
{
    ch*=(-2*n)/(x*(2*n+1));
    y+=ch;
}
if (n<MaxIter)
{
    cout <<"|"<<setw(6)<<x<<setprecision(1)<<setw(6)<<"|"<<setw(6)<<y<<setprecision(1)<<setw(6)<<"|"<<setw(6)<<n<<setw(6)<<"|"<<endl;
cout<<"_____________________________________"<<endl;
}
else cout <<"|"<<setw(6)<<x<<setprecision(1)<<setw(6)<<"|"<<setw(6)<<"Fail Ryad"<<setw(3)<<"|"<<setw(6)<<"Fail Ryad"<<setw(3)<<"|"<<endl;
cout<<"_____________________________________"<<endl;
}
return 0;
}
вот так сделал.
Это нормальные ответы??
0
Миниатюры
построение таблицы  
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 22:26 #37
Очень сомнительно, потому что всегда одинаковое значение функции

Добавлено через 32 минуты
А вообще уточните вид своего ряда, потому что если он у вас такой http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n=0}^{\propto } \frac{-2n}{x(2n+1)}, то этот ряд расходится при любом х
0
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
09.10.2011, 23:34  [ТС] #38
Вот так выглядит сам пример, может я его не правильно разложил( в школе не проходили, а в универе по информатике задали)
0
Миниатюры
построение таблицы  
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
10.10.2011, 00:55 #39
ну так у тебя формула ряда совсем другая, а не та, которую ты вычисляешь в своей программе
Попробуй этот код
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
#include <iostream>
#include <iomanip>
#include <float.h>
#define _USE_MATH_DEFINES
#include <math.h>
using namespace std;
int main ()
{
const int MaxIter = 500;
double eps=DBL_EPSILON,Xn,Xk,dx;
Xn=2;
Xk=4;
dx=0.1;
cout<<"___________________________________________"<<endl;
cout<<"|"<<setw(5)<<"  x  "<<"  | "<<setw(11)<<"     y     "<<" | "<<setw(5)<<"  n  "<<" | "<<setw(11)<<"arctan(x)"<<" |"<<endl;
cout<<"___________________________________________"<<endl;
int n=1;
for(double x=Xn;x<=Xk+dx;x+=dx)
{
double ch=-1/x,y=0;
for (n=0; fabs(ch)>eps&&n<=MaxIter;n++)
{
        y+=ch;
        ch*=-(2*n+1)/x/x/(2*n+3);
}
y=y+M_PI/2;
   cout <<"| "<<setw(5)<<x<<" | "<<setw(11)<<y<<" | "<<setw(5)<<n-1<<" | "<<setw(11)<<atan(x)<<" |"<<endl;
cout<<"___________________________________________"<<endl;
}
return 0;
}
1
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
10.10.2011, 01:08  [ТС] #40
Спасибо большое)
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.10.2011, 02:37 #41
Цитата Сообщение от takewa
это нормально то что нули и единицы??
это из-за эпсилон
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
10.10.2011, 03:53 #42
Цитата Сообщение от takewa Посмотреть сообщение
Вот так выглядит сам пример, может я его не правильно разложил( в школе не проходили, а в универе по информатике задали)
на будущее - задание должно быть сформулировано в первом сообщении темы, а не в шестнадцатом (да и то неправильно)
0
10.10.2011, 03:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 03:53
Привет! Вот еще темы с ответами:

Удаление записи из таблицы, с проверкой на совпадение с записями из другой таблицы. - C++
День добрый! В общем такая проблема: Мой проект на курсовую работу представляет из себя простую базу данных. Имеется таблица заказчики...

Даны таблицы А[1..n] ,В[1..m]. Построить таблицу С в которой сначала размещаются все элементы А, затем все элементы таблицы В - C++
кто сможет решите: Даны таблицы А ,В. Построить таблицу С в которой сначала размещаются все элементы А, затем все элементы таблицы В

Построение - C++
Здравствуйте вот нужно отредактировать программу т.к как не работает. Заранее спасибо все что не делал не могу понять , она не работает ....

построение графиков в С++ - C++
Доброго времени суток. Столкнулась с такой проблемой: нужно построить лежащую параболу. Оси прочертила, разметку сделала, формула для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru