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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2008, 22:09   #1
Влад-mego
Пользователь
 
Регистрация: 27.11.2008
Сообщений: 16
По умолчанию Надо чтобы программа выводила i начиная с 1 значения.Оно у мну дальше 1 и не вычисляет..?

/*Avtor:Protsenko Vlad,gruppa:8301, vischislit' paru funkschii f1:
u1(i)=x^i*sin(i*p)/i!; i>=0;
f1(x)=f1=exp(x*cos(p))*cos(x*cos(p) );x*x<1
u(i+1)/u(i)=p*cos((i+1)*p)*i/(i+1)/cos(i*x).*/
#include <fstream.h>
#include <math.h>
#include<iomanip.h>
void Inp1(float &);
void Inp2(float &);
void Inp3(float &);
void Out1(ofstream &);
void Sum(float &, unsigned int &, float, float &,float&, ofstream &);
void Sum2(float &, unsigned int &, float, float &,float&, ofstream &);
void main()
{ float eps,x,p,u1,f1,s1,s2,u2,f2;
unsigned int i;
ofstream R;
R.open("res.txt",ios:ut);
Inp1(p);
Inp2(eps);
Inp3(x);
Out1®;
u1=x*cos(x); s1=u1; i=0;
while((fabs(u1)>eps))
{ Sum(u1,i,x,s1,p,R);}
f1=exp(x*cos(p))*cos(x*sin(p));
R<<"Is "<<i<<" chlenov rjada "<<'\n'<<"s1="<<s1<<'\n'<<"f1="<<f1 <<'\n';
R<<fabs(f1-s1)<<'\n';
R.close();
}

void Inp1(float &p)
{do { cout<<"Vvedite p:"; cin>>p;}
while((p<=0)||(p>=2*3.14));}
void Inp2(float &eps)
{do {cout<<"Vvedite eps:"; cin>>eps;}
while((eps<=0)||(eps>=1));
}
void Inp3(float &x)
{do { cout<<"Vvedite x:"; cin>>x;}
while(x*x>1);}
void Out1(ofstream &R)
{R<<'|'<<setw(5)<<'i'<<'|'<<setw(15 )<<'u'<<'|'<<se tw(15)<<'s'<<'|'<<'\n';
}
void Sum(float &u1,unsigned int &i,float x,float &s1,float&p,ofstream &R)
{ u1=x*cos(((0.8)-1)*x)*(0.8)/((0.8)-1)/cos((0.8)*p)*u1;
s1=s1+u1; i++;
R<<'|'<<setw(5)<<i<<'|'<<setw(15)<< setprecision(7) <<u1<<'|'<<setw(15)<<setprecision(7 )<<s1<<'|'<<'\n ';
}
если можете помогите)

Последний раз редактировалось Влад-mego; 27.11.2008 в 22:19.
Влад-mego вне форума Ответить с цитированием
Старый 27.11.2008, 22:55   #2
ams007
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 35
По умолчанию

не флуд, а удобство воспиятия
Код:
/*Avtor:Protsenko Vlad,gruppa:8301, vischislit' paru funkschii f1:
u1(i)=x^i*sin(i*p)/i!; i>=0;
f1(x)=f1=exp(x*cos(p))*cos(x*cos(p));x*x<1
u(i+1)/u(i)=p*cos((i+1)*p)*i/(i+1)/cos(i*x).*/

#include <fstream.h>
#include <math.h>
#include<iomanip.h>

void Inp1(float &);
void Inp2(float &);
void Inp3(float &);
void Out1(ofstream &);
void Sum(float &, unsigned int &, float, float &,float&, ofstream &);
void Sum2(float &, unsigned int &, float, float &,float&, ofstream &);

void main()
{
	float eps,x,p,u1,f1,s1,s2,u2,f2;
	unsigned int i;
	ofstream R;
	R.open("res.txt",ios:ut);
	Inp1(p);
	Inp2(eps);
	Inp3(x);
	Out1®;
	u1=x*cos(x);
	s1=u1;
	i=0;
	
	while((fabs(u1)>eps))
	{
		Sum(u1,i,x,s1,p,R);
	}
	
	f1=exp(x*cos(p))*cos(x*sin(p));
	
	R<<"Is "<<i<<" chlenov rjada "<<'\n'<<"s1="<<s1<<'\n'<<"f1="<<f1<<'\n';
	R<<fabs(f1-s1)<<'\n';
	R.close();
}

void Inp1(float &p)
{
	do
	{
		cout<<"Vvedite p:";
		cin>>p;
	}
	while((p<=0)||(p>=2*3.14));
}

void Inp2(float &eps)
{
	do
	{
		cout<<"Vvedite eps:";
		cin>>eps;
	}
	while((eps<=0)||(eps>=1));
}

void Inp3(float &x)
{
	do
	{
		cout<<"Vvedite x:";
		cin>>x;
	}
	while(x*x>1);
}

void Out1(ofstream &R)
{
	R<<'|'<<setw(5)<<'i'<<'|'<<setw(15)<<'u'<<'|'<<se tw(15)<<'s'<<'|'<<'\n';
}

void Sum(float &u1,unsigned int &i,float x,float &s1,float&p,ofstream &R)
{
	u1=x*cos(((0.8)-1)*x)*(0.8)/((0.8)-1)/cos((0.8)*p)*u1;
	s1=s1+u1;
	i++;
	R<<'|'<<setw(5)<<i<<'|'<<setw(15)<<setprecision(7) <<u1<<'|'<<setw(15)<<setprecision(7)<<s1<<'|'<<'\n ';
}

Последний раз редактировалось ams007; 27.11.2008 в 23:01.
ams007 вне форума Ответить с цитированием
Старый 27.11.2008, 23:09   #3
ams007
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 35
По умолчанию

Код:
void Inp1(float &);
void Inp2(float &);
void Inp3(float &);
void Out1(ofstream &);
void Sum(float &, unsigned int &, float, float &,float&, ofstream &);
void Sum2(float &, unsigned int &, float, float &,float&, ofstream &);

ИМХО так не делают)))), ибо косяГ(с).
Если тебе нада указатели, то например вместо void Inp2(float &); пишешь void Inp2(float*);, а передаешь в нее переменную float a; как Inp2(&a);
ams007 вне форума Ответить с цитированием
Старый 27.11.2008, 23:10   #4
Влад-mego
Пользователь
 
Регистрация: 27.11.2008
Сообщений: 16
По умолчанию

ок)буду знать)ток извините там вместо (-0.8)-i должно быть...
Влад-mego вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что надо сделать, чтобы написать игру типа дальнобойщиков? multik Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 07.07.2008 12:36
)Мне надо чтобы серверная часть проги узнанала и отправила на клиентскую имя компа? LuMax Помощь студентам 6 25.11.2007 14:53
Где надо объявить и описать вводимые данные, чтобы расчитать с помощью них формулы Соня Помощь студентам 1 31.05.2007 07:07
надо чтобы комп автоматически перезагружался, а ещё круче чтоб вырубался steck Общие вопросы Delphi 3 01.04.2007 15:52
Тестирующая программа "КРИВЫЕ ВТОРОГО ПОРЯДКА" ivp88 Помощь студентам 3 13.03.2007 11:47