|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2013, 22:33 | #1 |
Форумчанин
Регистрация: 24.10.2013
Сообщений: 241
|
Помогите разобраться с программой С++ Builder
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n=7. Помогите пожалуйсто,не знаю как сделать,чтобы программа работала правильно. Условие.PNG #include <stdio.h> #include <conio.h> #include <math.h> void main() { double a, b, x, h,s,y,r,rez; const double PI = 3.1415926; int n, k; puts("Input a,b,h,n"); scanf("%lf%lf%lf%d", &a, &b, &h, &n); printf("\n x | Y(x) | S(x) | |Y(x)-S(x)|"); printf("\n------------------------------------------"); for(x = a; x<=b; x+=h) { r=s=1; y=-1/2*log(1-2*x*cos(PI/3)+pow(x,2)); for(k=1;k<=n;k++) { s=(pow(x,k)*cos(k*PI/3))/k; } rez=fabs(y-s); printf("\n %1.1lf | %1.4lf | %1.4lf | %1.4lf |", x,y,s,rez); } printf("\n--------------------------------------------"); system "pause"; } |
24.10.2013, 22:42 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
s=(pow(x,k)*cos(k*(PI/3)))/k;
Вроде так.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
24.10.2013, 23:30 | #3 |
Форумчанин
Регистрация: 24.10.2013
Сообщений: 241
|
Ну да,согласен,но почему-то в самой программе не считает значение y(выводит на экран 000000000000)а функцию s cчитает нормально.
|
24.10.2013, 23:35 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
24.10.2013, 23:55 | #5 |
Форумчанин
Регистрация: 24.10.2013
Сообщений: 241
|
Ответы выражений у и s должны быть одинаковыми,но почему-то они не совпадают.
|
25.10.2013, 00:11 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.10.2013, 00:25 | #7 |
Форумчанин
Регистрация: 24.10.2013
Сообщений: 241
|
Cпасибо за помощь,программа работает правильно,буду признателен если обьясните мою ошибку,что я не учел.
|
25.10.2013, 00:28 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
Вы не считали сумму (s += ...), а переписывали значение в s новым числом (s = ...). После цикла в s хранился последний вычисленный элемент.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.10.2013, 00:52 | #9 |
Форумчанин
Регистрация: 24.10.2013
Сообщений: 241
|
Спасибо еще раз,очень выручили,скажите а запись M_PI это предопределенная константа,которую не нужно присваивать в самой программе(вы написали мне как в комментарии //const double PI = 3.1415926; ).Значит будет и так и так правильно ?!
Последний раз редактировалось spectrum988; 25.10.2013 в 00:56. |
25.10.2013, 01:00 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
Пожалуйста.
Да, предопределенная, поэтому можно самому не объявлять её, но если откажется компилироваться, то просто расскоментируете свое определение. Точнее, в math.h есть такая запись: #define M_PI 3.14159265358979323846.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с программой | Bercut48rus | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 11.12.2009 02:40 |
Помогите разобраться с программой | IrinaPetrova | Фриланс | 3 | 01.12.2009 13:03 |
Помогите разобраться с программой | Svetlyachok | Общие вопросы C/C++ | 7 | 06.06.2009 17:55 |
Помогите разобраться с программой | First90_19 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 23.12.2008 01:58 |