Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2009, 12:21   #1
TimKas
Новичок
Джуниор
 
Регистрация: 01.11.2009
Сообщений: 1
По умолчанию Пожалуйста, помогите с лабой!

Здравствуйте люди добрые. Собственно столкнулся с проблемкой при выполнении лабораторной работы. Коротко опишу задание: Есть функция cos(x), и есть ряд Тейлора, на который эту функцию можно разложить. т.е. нужно просто подобрать такое n, при котором сумма (((-1)^n)*x^2n)/(2n!), будет лежать в интервале [cos(x)-e,cos(x)+e]. Х - перебирается в заданном диапазоне, dx, e - задаётся с клавиатуры

Код:
#include "stdafx.h"
#include "Math.h"
#include <ostream>
#include <iostream>
#include <stdio.h>

using namespace std; 
char tmp;
double dbl_startx,dbl_endx,dbl_e,dbl_dx,cosx,x,f,i;
int n;

int factorial(int n) { 
    if( n == 0 ) return 1;
    return n * factorial (n - 1);
}

void task1()
{
		printf ("Task Number 1\n");
		printf("Input Start X\n");
		scanf("%Lg",&dbl_startx);
		printf("Input End X\n");
		scanf("%Lg",&dbl_endx);
		printf("Input dx\n");
		scanf("%Lg",&dbl_dx);
		printf("Input E\n");
		scanf("%Lg",&dbl_e);
		printf("-x----f(x)----n-\n");
		x=dbl_startx;
		f=0;
	while (x<=dbl_endx) {
		while (f < cos(x)-dbl_e & f > cos(x)+dbl_e) {
			if ((n % 2)==0) {
				f=f+pow(x,2*n)/factorial(2*n);
			}
			else {
				f=f-pow(x,2*n)/factorial(2*n);
			}
			n=n+1;
		}
			printf("%Lg",x);
			printf("  |  ");
			printf("%Lg",f);
			printf("  |  ");
			printf("%d",n);
			printf("  |  \n");
		x=x+dbl_dx;
	}

}

int main()
{
	while(1)
{
			scanf("%c", &tmp);
			switch (tmp) {
			case 'X':
				break;
			case 'x':
				break;
			case '1':
				task1();
				break;
		}
		break;
	}

}
В моей программе почти всё сделано, только не считается n. Сколько уже не мучаюсь, ответ - не получается...

Последний раз редактировалось TimKas; 01.11.2009 в 14:03.
TimKas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с лабой (си) Defa4ka Помощь студентам 7 24.09.2009 00:19
Помогите с лабой по ассемблеру Axell Помощь студентам 2 26.05.2009 23:07
помогите с лабой :( lily_88 Помощь студентам 3 28.10.2008 16:43
Помогите с лабой по Паскалю funny Паскаль, Turbo Pascal, PascalABC.NET 12 17.09.2008 17:25