Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Pe4seg
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
#1

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

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

нужно решить задачку, а то у меня никак не получается, наишите пожалуйста программу, а то я совсем отчаялся.....
Задание на фотографии)
0
Миниатюры
Написать функцию, которая вычислияет значение F на интервале  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 21:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию, которая вычислияет значение F на интервале (C++):

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

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

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

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

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

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

52
v.a.l.i.d
413 / 378 / 10
Регистрация: 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
Pe4seg
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
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 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
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 11:52 #34
Цитата Сообщение от Nixy Посмотреть сообщение
степень к double приводить не обязательно она и так возвращает его,
Да, все правильно
0
Pe4seg
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 11:54  [ТС] #35
а в остальном программа написана правильно?
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 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
Дмитрий 93
74 / 59 / 5
Регистрация: 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
Pe4seg
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 12:16  [ТС] #38
хмммм.. Значение F слишом большое уж получается
0
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:20 #39
смотря какие числа вводить. плюс они выводятся с плавающей точкой
0
Pe4seg
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 39
13.01.2013, 12:23  [ТС] #40
ну я вводил 1,2,3,4,5,6 и значение F огромное, и куча нулей еще на конце
0
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:26 #41
думаю лучше вводить вещественные числа типа 2.3, 5.4 и так далее. ну или в функции везде перед a b c впилить объявление (double)

Добавлено через 2 минуты
знаете что такое xn xk и dx? насколько я понял dx это шаг, xn это начало, xk это конец. получается что у вас считалось от 1 до 2 с шагом 3. это верно чтоле? введите при запросе иксов 1 10 1 например
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 12:28 #42
ну я вводил 1,2,3,4,5,6 и значение F огромное, и куча нулей еще на конце
Цитата Сообщение от Дмитрий 93 Посмотреть сообщение
думаю лучше вводить вещественные числа типа 2.3, 5.4 и так далее. ну или в функции везде перед a b c впилить объявление (double)
да не важно что дробнгые или нет, человек думать не хочет что вводить, он ввел начало 1 конец 2 шаг 3!! а 4 в 5 с 6, но значение должно было быть небольшим
1
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:30 #43
короче ниже скрин, тупо вводите то что на скрине и все чудненько
0
Миниатюры
Написать функцию, которая вычислияет значение F на интервале  
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 12:31 #44
ТС подумал что 1.00000000 это большое число...
0
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
13.01.2013, 12:34 #45
Цитата Сообщение от Nixy Посмотреть сообщение
ТС подумал что 1.00000000 это большое число...
ну в плане того что там много чисел оно просто гигантское. это ж прямо как сто миллионов)) а то что точка дробную часть отделяет это не суть
0
13.01.2013, 12:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2013, 12:34
Привет! Вот еще темы с ответами:

Как написать функцию, которая принимает 1 значение и адрессовывает 2 переменные - C++
Задача: написать программу с функцией time () кот принимает 1 целое значение минут и аддресовывает 2 переменные: количество часов и минут....

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

Написать функцию, которая возвращает среднее значение элементов одномерного массива - C++
2. Написать функцию, которая возвращает среднее значение элементов одномерного массива.

не получается написать перегруженную функцию, которая возвращает значение в зависимости от набора формальных - C++
Которая возвращает значение в зависимости от набора формальных параметров:z=min(x,y)для 3 типов параметра x:int, float; double Я начал...


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

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru