Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
1

Написать функцию, которая вычислияет значение F на интервале

09.01.2013, 21:48. Показов 2775. Ответов 52
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
нужно решить задачку, а то у меня никак не получается, наишите пожалуйста программу, а то я совсем отчаялся.....
Задание на фотографии)
Миниатюры
Написать функцию, которая вычислияет значение F на интервале  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2013, 21:48
Ответы с готовыми решениями:

Написать функцию, которая могла бы передать значение в другую функцию
как сделать функцию которая бы могла передать значеие в другую функцию ну к примеру a=4*b; где...

Написать программу, которая будет находить минимальное значение функции f (x) = 10x2 + 215x +100 на интервале целых чисе
Написать программу, которая будет находить минимальное значение функции f (x) = 10x^2 + 215x +100...

Написать функцию, которая возвращает значение
В файле, путь к которому вводится с экрана, находится массив чисел, образующих неубывающую...

Написать функцию, которая вычисляет значение а^b
Write a function that calculates the value of a ^ b. Numbers a and b can be any positive fractional...

52
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
12.01.2013, 22:26 21
Author24 — интернет-сервис помощи студентам
Понятно дело не работает. Надо еще main описать.
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
12.01.2013, 22:28  [ТС] 22
ээээ.. а как это сделать?
0
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
12.01.2013, 23:40 23
Ну как вы описываете функции, так и описывайте main.
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
12.01.2013, 23:59  [ТС] 24
подскажите куда ее запихать и как именно ее нужно описать?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <math.h>
double f(double xn,double xk,double dx)
{
double a,b,c;
scanf("%f %f %f",&a,&b,&c);
double x=xn;
double F=0;
while(x<=xk)
{
if(x<0)
F=a*pow(i,3)-b*x+c;
else
if(x>0)
F=(double)b/(x*c)+(double)(pow(x,3/5);
else
F=x+2*a;
printf("x=%f F=%f\n",x,F);
x+=dx;
}
}
0
75 / 60 / 24
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 00:08 25
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 #include <math.h>
 double f(double xn,double xk,double dx)//сей набор символов есть ваша функция
 {
 double a,b,c;
 scanf("%f %f %f",&a,&b,&c);
 double x=xn;
 double F=0;
 while(x<=xk)
 {
 if(x<0)
 F=a*pow(i,3)-b*x+c;
 else
 if(x>0)
 F=(double)b/(x*c)+(double)(pow(x,3/5);
 else
 F=x+2*a;
 printf("x=%f F=%f\n",x,F);
 x+=dx;
 }
 }
void main()
{
//здесь вводится то к чему функция применяется и собственно вызывается
}
или нет?
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 00:16  [ТС] 26
ээээ... а как теперь это оформить в программе?
0
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
13.01.2013, 00:18 27
Вы вообще представляете как программировать?

Добавлено через 23 секунды
Дмитрий 93, да, оно.
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 00:19  [ТС] 28
да как видите не особо, только начал пытаться....
0
75 / 60 / 24
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 01:04 29
а собсно зачем вам нужен майн? задача была накатать функцию, функция готова

Добавлено через 14 минут
на самом деле в 15 строке перед pow стоит лишняя скобка

Добавлено через 2 минуты
теперь функция верна. разве что i необъявлена, может там вместо i должно быть x. ну или в объявление функции запилить параметр i который при выполнении какого-нибудь цикла for в майне будет передаваться в функцию
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 #include <math.h>
 double f(double xn,double xk,double dx)
 {
 double a,b,c;
 scanf("%f %f %f",&a,&b,&c);
 double x=xn;
 double F=0;
 while(x<=xk)
 {
 if(x<0)
 F=a*pow(i,3)-b*x+c;
 else
 if(x>0)
 F=(double)b/(x*c)+(double)pow(x,3/5);
 else
 F=x+2*a;
 printf("x=%f F=%f\n",x,F);
 x+=dx;
 }
 }
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 11:23  [ТС] 30
то есть тут нужно цикл дописать еще?

Добавлено через 52 минуты
#include <stdio.h>
#include <math.h>
void f(double xn,double xk,double dx) {
double a,b,c;
scanf("%f %f %f",&a,&b,&c);
double x=xn;
double F=0;
while(x<=xk)
{
if(x<0)
F=a*pow(x,3)-b*x+c;
else
if(x>0)
F=(double)b/(x*c)+(double)pow(x,3/5);
else
F=x+2*a;
printf("x=%f F=%f\n",x,F);
x+=dx;
}
}
void main()
{
double xn,xk,dx;
scanf("%f %f %f",&xn,&xk,&dx);
f(xn,xk,dx);
scanf("%f",&xn);
}

Добавлено через 24 минуты
описал main, только все равно косяк, значения не выводит((

Добавлено через 37 минут
все, проблема решена)

Добавлено через 1 минуту
#include <stdio.h>
#include <math.h>

void f(double xn,double xk,double dx) {
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
double x=xn;
double F=0;
while(x<=xk)
{
if(x<0)
F=a*pow(x,3)-b*x+c;
else if(x>0)
F=b/(x*c)+pow(x,3/5);
else
F=x+2*a;
printf("x=%f F=%f\n",x,F);
x+=dx;
}
}

void main()
{
float xn,xk,dx;
scanf("%f %f %f",&xn,&xk,&dx);
f(xn,xk,dx);
scanf("%f",&xn);
}
1
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 11:31 31
Цитата Сообщение от Pe4seg Посмотреть сообщение
F=(double)b/(x*c)+(double)pow(x,3/5);
3/5 - это ноль. вот так будет правильно:
C++
1
F=(double)b/(x*c)+(double)pow(x,(double)3/5);
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 11:47  [ТС] 32
#include <stdio.h>
#include <math.h>

void f(double xn,double xk,double dx) {
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
double x=xn;
double F=0;
while(x<=xk)
{
if(x<0)
F=a*pow(x,3)-b*x+c;
else if(x>0)

F=(double)b/(x*c)+(double)pow(x,(double)3/5);

else
F=x+2*a;
printf("x=%f F=%f\n",x,F);
x+=dx;
}
}

void main()
{
float xn,xk,dx;
scanf("%f %f %f",&xn,&xk,&dx);
f(xn,xk,dx);
scanf("%f",&xn);
}

Добавлено через 14 секунд
вот так то есть?
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 11:50 33
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
3/5 - это ноль. вот так будет правильно:
C++
1
F=(double)b/(x*c)+(double)pow(x,(double)3/5);
степень к double приводить не обязательно она и так возвращает его, а деление 3/5 проше заменить на 3./5
1
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 11:52 34
Цитата Сообщение от Nixy Посмотреть сообщение
степень к double приводить не обязательно она и так возвращает его,
Да, все правильно
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 11:54  [ТС] 35
а в остальном программа написана правильно?
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 11:58 36
нет,по стандарту С++ main должна возвращать int
C++
1
2
3
4
5
6
7
int main()
 {
 float xn,xk,dx;
 scanf("%f %f %f",&xn,&xk,&dx);
 f(xn,xk,dx);
 //scanf("%f",&xn); cмысла в ней нет
 }
и зачем вам последняя строка
0
75 / 60 / 24
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:05 37
да, правильно
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
 #include <math.h>
 
 void f(double xn,double xk,double dx) {
 double a,b,c;
 printf("Input a b c \n");
 scanf("%f %f %f",&a,&b,&c);
 double x=xn;
 double F=0;
 while(x<=xk)
 {
 if(x<0)
 F=a*pow(x,3)-b*x+c;
 else if(x>0)
 F=(double)b/(x*(double)c)+(double)pow(x,(double)3/5);
 else
 F=x+2*a;
 printf("x=%f F=%f\n",x,F);
 x+=dx;
 }
 }
 
 void main()
 {
 float xn,xk,dx;
 printf("Input xn xk dx\n");
 scanf("%f %f %f",&xn,&xk,&dx);
 f(xn,xk,dx);
 }
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 12:16  [ТС] 38
хмммм.. Значение F слишом большое уж получается
0
75 / 60 / 24
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:20 39
смотря какие числа вводить. плюс они выводятся с плавающей точкой
0
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 12:23  [ТС] 40
ну я вводил 1,2,3,4,5,6 и значение F огромное, и куча нулей еще на конце
0
13.01.2013, 12:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2013, 12:23
Помогаю со студенческими работами здесь

Написать функцию, которая по заданному x возвращает значение
Написать функцию, которая по заданному x возвращает значение. y=ln|x^3 - 1|. (Нужно максимально...

Написать функцию, которая вычисляет значение выражения
Написать функцию, которая вычисляет значение выражения, и определить ее значение для введенных...

Написать функцию glasn, которая возвращает значение по условию
подсобите, если не трудно Написать функцию glasn, которая возвращает 1, если символ, полученный...

Написать функцию, которая возрашает в программу в значение вычисления функции y = 2x^2 - 8x
вообщем нужно написать функцию которая возрашает программу в знчение вычисления функции y=2x^2-8x ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru