0 / 0 / 0
Регистрация: 09.12.2016
Сообщений: 9
1

Ошибки в коде

15.04.2017, 15:52. Показов 441. Ответов 6
Метки нет (Все метки)

Задание: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до хкон с шагом dx с точностью Ɛ. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда

Ln (x+1)/(x-1)=2∑1/((2n+1)x^(2n+1) )=2(1/x+1/〖3x〗^3 +1/〖5x〗^5 +⋯)|x|>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
#include <stdio.h>
#include <iostream>
#include <math.h>
int main() {
   setlocale(LC_ALL, "Russian");
   double x, xn, xk, dx, eps, real;
   printf("Введите значения  xn, xk, dx, eps:\n");
   scanf_s("%lf %lf %lf %lf", &xn, &xk, &dx, &eps);
   if ((xn < -1) || (xk < -1) || (xn > 1) || (xk > 1)) {
          printf("______________________________________\n");
          printf("|    X    |    Y    |   real   |  N  |\n");
      printf("______________________________________\n");
      const int MaxIter=500;
          for (x=xn; x<=xk; x+=dx) {
                int n=0;
                 double ch=1
                 y=0;
                 real=log((x+1)/(x-1))/2;                 
                 while (fabs(1./((2*n+1)*pow(x,(2*n+1)))) > eps) {
                    y+=1./((2*n+1)*pow(x,(2*n+1)));
                    if (n > Maxlter) break;
                    else n++;
                    }
                    printf("_________________________________\n");
                    printf("| %9.2lf | %9.6lf | %9.6lf | %i |\n", x, y, real, n);
            printf("_________________________________\n"); }
system("pause");
return 0;
}
Как поправить?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2017, 15:52
Ответы с готовыми решениями:

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить...

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private:...

Ошибки в коде
Есть код программы #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int x = {1, 2, 1, 3, 12, 2}; int...

6
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
15.04.2017, 15:58 2
Ну теги-то [CPP] где?
0
Диссидент
Эксперт C
26824 / 16733 / 3666
Регистрация: 24.12.2010
Сообщений: 37,452
15.04.2017, 16:02 3
Цитата Сообщение от Ксения2017 Посмотреть сообщение
Ошибки в коде
Какие ошибки? Просто ошибки и все?
И теги кода, да... Умеете? Научить?
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
15.04.2017, 16:42 4
Теги [CPP] - когда вводите сообщение 2-й ряд снизу вверх, 1-я кнопка.
Формула абсолютно не понятна, нужно формулы вводить с помощью редактора формул внизу. Сначала набиваете туда формулу, потом она генерирует код и потом его вставляете сюда в форум.

Добавлено через 3 минуты
Цитата Сообщение от Ксения2017 Посмотреть сообщение
real
- real мне кажется нельзя использовать переменную с таким именем, это тип переменной в какой-то среде, не помню, толи в C++, толи в Паскале.

Добавлено через 1 минуту
Цитата Сообщение от Ксения2017 Посмотреть сообщение
printf("Введите значения xn, xk, dx, eps:\n");
- все разом решили шмыгануть, я бы это разделил и вводил бы по 1 переменной.

Добавлено через 2 минуты
Цитата Сообщение от Ксения2017 Посмотреть сообщение
if ((xn < -1) || (xk < -1) || (xn > 1) || (xk > 1)) {
- зачем условие? В условии задачи не сказано соблюдать условия по вводным данным.

Добавлено через 49 секунд
Цитата Сообщение от Ксения2017 Посмотреть сообщение
printf("| X | Y | real | N |\n");
- явно побольше пробелов или табов надо в расстоянии между столбцами.

Добавлено через 1 минуту
Цитата Сообщение от Ксения2017 Посмотреть сообщение
C++
1
2
double ch=1
y=0;
- здесь явно запятая нужна, т.е. вот так:
C++
1
double ch=1, y=0;
Добавлено через 1 минуту
Цитата Сообщение от Ксения2017 Посмотреть сообщение
real=log((x+1)/(x-1))/2;
- зачем на 2 делить, опять же нету в условии задачи.

Добавлено через 4 минуты
Цитата Сообщение от Ксения2017 Посмотреть сообщение
C++
1
y+=1./((2*n+1)*pow(x,(2*n+1)));
- ну если Вам нужен каждый член ряда, то тут, естественно нужно равно(=), а не +=. Для суммы заведите переменную s и туда пихайте сумму каждый раз вот так:
C++
1
s += y;
Добавлено через 24 минуты
Цитата Сообщение от Ксения2017 Посмотреть сообщение
C++
1
while (fabs(1./((2*n+1)*pow(x,(2*n+1)))) > eps) {
- вообще здесь суть в чем, значит смотрите, этот цикл используется для нахождения ряда Тейлора и причем члены не пишутся. И то в этом варианте в условии цикла while() не пишется вся функция, а только уже посчитанная 1 буква(ну или любая переменная).
Почитайте вот эту тему, чтобы быть в теме:Вычисление функций разложением в ряд Тейлора - там хорошо объясняются не которые ряды Тейлора.
У нас есть цикл в цикле, т.к. нам нужен 1-й цикл for, то этот 2-й while нужно удалить и также нужно удалить его открывающую и закрывающую фигурные скобки.
0
0 / 0 / 0
Регистрация: 09.12.2016
Сообщений: 9
15.04.2017, 17:12  [ТС] 5
Спасибо, посмотрю тему. Там есть те условия, которых, вы говорите, нет. Просто я плохо написала.
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
15.04.2017, 17:15 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 <vcl>
#include <stdio>
#include <iostream>
#include <conio>
#include <math>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
 
int main(int argc, char* argv[])
{
   double x, xn, xk, dx, r, y = 0;
   int n = 0;
   const int MaxIter = 500;
 
   /*
   cout << "Vvedite znachenie xn:";
   cin >> xn;
   cout << "Vvedite znachenie xk:";
   cin >> xk;
   cout << "Vvedite znachenie dx:";
   cin >> dx;
   */
   xn = 2;
   xk = 12;
   dx = 0.5;
   //***********
   //*x > 1    *
   //***********
 
   cout << "-------------------------------------------------------------------------------\n";
   cout << "|      X        |           Y           |       real            |        N    |\n";
   cout << "-------------------------------------------------------------------------------\n";
 
   for(x = xn; x <= xk; x += dx)
   {
       r = log((x+1)/(x-1));
       y = 1/((2*n+1)*pow(x,(2*n+1)));
       if(n > MaxIter) break;
       else n++;
   cout << "-------------------------------------------------------------------------------\n";
   cout << "|\t" <<  x << "\t|\t" << y << "\t|\t" << r << "\t|\t" << n << "\n";
   cout << "-------------------------------------------------------------------------------\n";
   }
 
getch();
return 0;
}
//---------------------------------------------------------------------------
Добавлено через 1 минуту
Цитата Сообщение от Ксения2017 Посмотреть сообщение
Спасибо, посмотрю тему. Там есть те условия, которых, вы говорите, нет. Просто я плохо написала.
- это точно. Спасибо нужно выражать нажатием на кнопку.
0
0 / 0 / 0
Регистрация: 09.12.2016
Сообщений: 9
15.04.2017, 17:20  [ТС] 7
А так вас не устраивает?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2017, 17:20
Помогаю со студенческими работами здесь

Ошибки в коде
При компиляции компилятор выдает подобные ошибки: C:\Users\Дом\Desktop\12.c:2:23: interrupt.h:...

[!]Ошибки в коде.
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;assert.h&gt; using namespace std; struct...

ошибки в коде
помогите пожалуйста исправить код для задачи: Даны натуральное n, действительные числа х, а1, ...,...

Ошибки в коде
Код взял с форума, однако в нем 40+ ошибок, подскажите пожалуйста что не так. Условие задачи:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru