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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2010, 22:02   #1
Allysia
 
Регистрация: 27.11.2009
Сообщений: 6
Восклицание Интегральная функция равна: F= - Visual C++

Помогите найти ошибку в программе, не пойму, что не так. Программа выполнена в Visual C++. Зарание спасибо)

PHP код:
#include <iostream> 
#include <stdio.h> 
#include <conio.h> 
#include <locale> 
#include <math.h>
void F1(double xdouble &i)
{
    
double pi=3.14,i;
    
i=2.*cos(x-(pi/6));
}


void F2(double xdouble *j)
{    
    *
j=sqrt(3*x+x*cos(x));
}

void F3(double x)
{
    
k=((exp*x+1)/(x-1))*pow(x,(x+sqrt(x)));
}

double F4(double i,double j,double k)
{    
double F;
    return 
F=((i+j)*k);
}
using namespace std

int main()
{
    
setlocale(0,"RUS"); 
    
double i=0,j=0,k=0,N1=6,N2=8,N3=8,a=N1-2*N3,b=(N1+N3)/2+N2,x,dx,F;
    
cout<<"\n\n Пожалуйста,введите шаг: ";
    
cin>>dx;
    
k=F3(x);
    for(
x=a;x<=b;x+=dx)
    {
        
F1(x,&i);
        
F2(x,*j);
        
F3(x);
        
F4(i,j,k);
        
cout<<"\n\nИнтегральная функция равна: F="<<F;
    }
    
getchar();
    
getchar();
    return 
0;

Allysia вне форума Ответить с цитированием
Старый 12.01.2010, 22:23   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

А в чём проблема? Что должна делать программа?
Serebro вне форума Ответить с цитированием
Старый 12.01.2010, 22:53   #3
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

Код:
void F1(double x, double &i)
{
    double pi=3.14,i;
зачем объявление i ?
Namolem вне форума Ответить с цитированием
Старый 12.01.2010, 23:09   #4
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Код:
#include <iostream>  
#include <stdio.h>  
#include <conio.h>  
#include <locale>  
#include <math.h> 
void F1(double x, double &i) 
{ 
    double pi=3.14,i; 
    i=2.*cos(x-(pi/6)); 
} 


void F2(double x, double *j) 
{     
    *j=sqrt(3*x+x*cos(x)); 
} 

void F3(double x) 
{ 
    k=((exp*x+1)/(x-1))*pow(x,(x+sqrt(x))); 
} 

double F4(double i,double j,double k) 
{    double F; 
    return F=((i+j)*k); 
} 
using namespace std;  

int main() 
{ 
    setlocale(0,"RUS");  
    double i=0,j=0,k=0,N1=6,N2=8,N3=8,a=N1-2*N3,b=(N1+N3)/2+N2,x,dx,F; 
    cout<<"\n\n Пожалуйста,введите шаг: "; 
    cin>>dx; 
    k=F3(x); 
    for(x=a;x<=b;x+=dx) 
    { 
        F1(x,&i); 
        F2(x,*j); 
        F3(x); 
        F4(i,j,k); 
        cout<<"\n\nИнтегральная функция равна: F="<<F; 
    } 
    getchar(); 
    getchar(); 
    return 0; 
}
1) вы пишете k = F3, когда k у вас имеет тип double, а функция F3 - void... К тому же от F3 у вас вообще толку нет, она ничего не меняет и не возвращает...
2) в main() вы выводите F, когда F у вас вообще неинициализированная переменная...
3) функция F4 у вас возвращает значение, наверное его нужно присваивать какой-нибудь переменной, а не просто вызывать F4...

это то, что сразу в глаза бросилось, а то, что делает ваша программа мне лень разбираться - лучше напишите условие задачи...
Alex_FF вне форума Ответить с цитированием
Старый 12.01.2010, 23:57   #5
Allysia
 
Регистрация: 27.11.2009
Сообщений: 6
По умолчанию

ну вот полное задание , f1 f2 f3 написаны в проге!!!

Сформувати інтегральну функцію F(x)=(f1(x)+f2(x))*f3(x)
Інтервал [a,b] для моделювання поведінки функції обчислити за наступним правилом: a=N1-2*N3, b=(N1+N3)/2+N2
Крок змінення х - (dx) вибрати таким, щоб на [a,b] було не менш, ніж 20 точок. Значення dx бажано тримати в окремій ячейці таблиці.
Проаналізувати поведінку функціі і визначити, чи міняє вона знак на інтервалі, який досліджується. Якщо ні, то модифікувати ії наступним чином: F(x)-> F(x)(max+min)/2.
Розробити програму обчислення функціі F(x) на інтервалі [a,b] і знайти корінь рівняння F(x)=0.
Allysia вне форума Ответить с цитированием
Старый 13.01.2010, 00:10   #6
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Posso começar a consideração do problema dado só depois da transferência de uma condição na língua clara...
Alex_FF вне форума Ответить с цитированием
Старый 13.01.2010, 00:35   #7
Allysia
 
Регистрация: 27.11.2009
Сообщений: 6
По умолчанию

Posso começar a consideração do problema dado só depois da transferência de uma condição na língua clara... что это значит????
Allysia вне форума Ответить с цитированием
Старый 13.01.2010, 00:39   #8
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Цитата:
Сообщение от Allysia Посмотреть сообщение
Posso começar a consideração do problema dado só depois da transferência de uma condição na língua clara... что это значит????
это по-португальски написано.
Alex_FF вне форума Ответить с цитированием
Старый 13.01.2010, 00:45   #9
Allysia
 
Регистрация: 27.11.2009
Сообщений: 6
По умолчанию

и как это переводиться????
Allysia вне форума Ответить с цитированием
Старый 13.01.2010, 00:47   #10
Allysia
 
Регистрация: 27.11.2009
Сообщений: 6
По умолчанию

вот другой текс программы, вроде все правильно, но опять же выбивает две ошибки!!! одна написано фатальная, вторая не пойму(((
Код:
#include <iostream> 
#include <stdio.h> 
#include <conio.h> 
#include <locale> 
#include <math.h>
void F1(double);
void F2(double);
double F3(double);
double F4(double,double,double);
using namespace std; 

void main()
{
	setlocale(0,"RUS"); 
	double i=0,j=0,k=0,N1=6,N2=8,N3=8,a=N1-2*N3,b=(N1+N3)/2+N2,x,dx;
	cout<<"\n\n Пожалуйста,введите шаг: ";
	cin>>dx;
	k=F3(x);
	for(x=a;x<=b;x+=dx)
	{
		F1(x,&i);
		F2(x,*j);
		F3(x);
		F4(i,j,k);
		cout<<"\n\nИнтегральная функция равна: F4="<<F4;
	}
	getchar();
	getchar();
	return 0;
}

void F1(double x, double &i)
{
	double pi=3.14;
	i=2.*cos(x-(pi/6));
}

void F2(double x, double *j)
{	
	*j=sqrt(3*x+x*cos(x));
}

double F3(double x)
{
	double e=2.72;
	return k=((e*x+1)/(x-1))*pow(x,(x+sqrt(x)));
}

double F4(double i,double j,double k)
{
	return F4=((i+j)*k);
}
Allysia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одна ячейка равна нескольким другим sanya1603 Microsoft Office Excel 4 30.09.2009 17:21
Нахождение в столбце с числами строк, сумма чисел которых равна определенному значению KNatalia Microsoft Office Excel 2 16.09.2009 08:42
Сумма каких либо двух цифер заданного трехзначного числа N равна третей цифре. Blos Помощь студентам 4 29.06.2009 16:25
Двумерный массив.Поиск столбца сумма,которого равна 0 Almost456 Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2008 23:43
С паскалем как и у многих проблемы,прошу помощи. Две задачи: интегральная и графическая. Loyal Помощь студентам 3 27.09.2007 09:46