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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2009, 19:58   #1
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию Функции С++, консольное приложение



Методические указания

1. Алгоритм решения задачи сводится к циклу по переменной х. В теле цикла вызываются три функции – две пользовательские и комбинация библиотечных (результат их работы считается условно точным значением). Необходимо спроектировать и реализовать пользовательские функции расчета F(x) = S по двум указанным выше алгоритмам.
2. Результаты расчетов отпечатать в следующем виде:

Вычисление функции

X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE

X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE
..........
X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE

Здесь X- значение параметра; SN- значение суммы для заданного n; SE- значение суммы для заданной точности; Y-точное значение функции; о_погрSN, о_погрSE – относительные погрешности приближенных вычислений.
Код:
// программа
x=0.1;
h=0.1;
xm=1.0;
for ("x=0.1; x<xm; x=x+h)
   { 
   y=f1(x);
   y1=f2(x, 10);
   y2=f3(x, 0.0001);
   e1=(y-y1)/y*100;
   e2=(y-y2)/y*100;
     printf("%f %f %f %f %f %f \n", x, y, y1, y2, e1, e2);
   };
		// Описание функций
	
	float f1(float);
	float f2(float, int);
	float f3(float, float);
                int main()
               //----функция 1               
	        float f1(float x);
		{ 
	         return(2*x*x)*exp(x*x);
	        }
           //-----------функция 2
		float f2(float x, int n);
		{
		int i;
		float s, a, ri;
		i=0;	a=1;	s=0+a;
		while (i<=n)
		   {
			ri=i;
			a=a*(2*ri+3)*x*x/(i+1)*(ri+1);
			s=s+a;
		    }
		   return s	
		 }
		// --------функция 3
		float f3(float x, float exp);
		 while(float(a)>exp)
  		......
Математически кажется правильно, но не уверен.
Не знаю как дописать 3-ю функцию и сделать программу работоспособной (куда правильно поставить функции до или после основной части кода)
Изображения
Тип файла: gif L3.gif (20.6 Кб, 148 просмотров)
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.

Последний раз редактировалось Veselyn; 28.12.2009 в 11:15.
Veselyn вне форума Ответить с цитированием
Старый 28.12.2009, 01:25   #2
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию

тема все еще актуальна
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.
Veselyn вне форума Ответить с цитированием
Старый 28.12.2009, 10:09   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
#include .....


double f1(double );         //прототип функции
double f2(double, int); //прототип функции
double f3(double, double); //прототип функции

main()
{
....
for(x=0.1; x<xm; x=x+h)
   { 
   y=f1(x);
   y1=f2(x, n);
   y2=f3(x, n, 0.0001);
   e1=(y-y1)/y;
   e2=(y-y2)/y;
    printf("%f %f %f %f %f %f \n", x, y, y1, y2, e1, e2);
   }
}

//описание  функции f1
double f1(double x)
{
.....
}      
//описание  функции f2
double f2(double x, int n)
{
}
//описание  функции f3
double f3(double x, double eps)
{
}
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 28.12.2009 в 14:53.
Sweta вне форума Ответить с цитированием
Старый 28.12.2009, 14:56   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Вот Вам программа, но без разбиения на функции, и без вычисления относительных погрешностей ( кстати при вычислении относительных погрешностей умножать на 100 не надо). Разбейте на функции и доделайте самостоятельно.
Код:
//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
using namespace std;

int main(int argc, char* argv[])
{
 double x1=0.1, x2=1.0, x, f1, f2, f3, el, Eps=0.0001, dx, k, e;
 int n=10, i,l;
 e = exp(1);
 dx=(x2-x1)/n;
 x=x1;

 for(x=x1; x<=x2; x=x+dx)
 {
 k= pow(x,2);
 f1=(1+2*k)*pow(e,k);
 f2=1.0;
 el=1.0;
 for(l=1;l<10;l++)
 {
 el*=((2*l+1)*x*x)/(l*(2*l-1));
 f2+=el;
 }
 f3=1.0;
 el=1.0;
 l=1;
 while(fabs(el)>Eps)
 {
 el*=((2*l+1)*x*x)/(l*(2*l-1));
 f3+=el;
 l++;
 }
 printf("%.15lf\t %.15lf\t %.15lf\t\n",f1,f2,f3);

}
getch();
return 0;
}
//---------------------------------------------------------------------------
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 28.12.2009, 16:22   #5
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию

Спасибище, очень помогли
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.

Последний раз редактировалось Veselyn; 28.12.2009 в 20:52.
Veselyn вне форума Ответить с цитированием
Старый 28.12.2009, 17:11   #6
katik34
Новичок
Джуниор
 
Регистрация: 18.12.2009
Сообщений: 1
По умолчанию

очень нужна помощь,помогите плиз!!!!
у меня программа на си++ !нужно создать класс вектора и операции с ним(сложение векторов,умножение на число,скалярное произведение,удаление).вот где-то здесь ошибка(может даже несколько)!может кто сможет найти,или переписать чтобы работала!
double Vector:perator * (const Vector& v)
// Умножение двух векторов с помощью
// перегруженного оператора бинарное *
double n = 0.0;
if(size == v.size) // Если размерности векторов совпадают
{
for(int i = 0; i < size; i++)
n += vect[i] * v.vect[i]; // Вычисляем произведение
return n; // Возвращаем произведение
}
else // Если размерности векторов не совпадают
{
cout << "Different arrays sizes !!!\nArray is truncating...\n";
katik34 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консольное приложение shock-in Общие вопросы Delphi 2 19.12.2009 22:03
консольное приложение user_jasser Общие вопросы Delphi 3 17.10.2008 12:17
C++! Консольное приложение!!! TrueTeapot Помощь студентам 2 03.10.2008 06:32
Консольное приложение Arkuz Общие вопросы Delphi 3 25.09.2008 23:59
Консольное приложение eks-s Общие вопросы Delphi 17 25.01.2008 03:12