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

Описание функции

27.03.2017, 22:51. Показов 894. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, как переделать код, чтобы в main() был чисто ввод значений и вывод результата. Вычисления должны быть представлены как функция и идти до main().
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
#include<stdio.h>
#include<math.h>
double f(double x)
{
return x*x+2*x-4;
}
int main()
{
double a, b, x, y1, y2;
const double eps=0.01, d=eps/10; 
printf("Vvedite a, b, : \n"); 
scanf("%le%le", &a, &b);
while (b-a > 2*eps) 
{
x=(a+b)/2;
y1=f(x-d);
y2=f(x+d);
(y1 < y2 ? b=x+d : a=x-d);
}
x=(a+b)/2; 
y1=f(x); 
printf("x = %.2lf \ny = %.2lf \n\n",x, y1);
return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2017, 22:51
Ответы с готовыми решениями:

Описание функции
Выдает ошибку в 9ой строке. #include &lt;stdio.h&gt; #include &lt;math.h&gt; void main () { int n,B,R;...

Описание функции пользователя
Доброй ночи/дня. Дан вот такой код // task6.cpp : Defines the entry point for the console...

Описание функции TrianglePS
Помогите найти ошибку, только начал изучать язык: Описать процедуру TrianglePS(a,P,S),...

Привести примитивно-рекурсивное описание функции, используя элемен. функции и операции подстановки примитивной рекурсии
Объясните, пожалуйста, как это решать. Уже часа два разбираюсь, никак не могу понять, как сделать...

3
20 / 20 / 8
Регистрация: 15.10.2015
Сообщений: 83
28.03.2017, 12:10 2
Лучший ответ Сообщение было отмечено Vadim94 как решение

Решение

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
30
31
32
33
34
35
#include<stdio.h>
#include<math.h>
 
double f(double x)
{
return x*x+2*x-4;
}
 
void raschet(double &a, double &b, double &x, double &y1)
{
    const double eps=0.01, d=eps/10;
    double y2;
 
    while (b-a > 2*eps)
    {
    x=(a+b)/2;
    y1=f(x-d);
    y2=f(x+d);
    ((y1 < y2) ? b=x+d : a=x-d);
    }
    x=(a+b)/2;
    y1=f(x);
 
}
 
int main()
{
double a, b, x, y1;
 
printf("Vvedite a, b, : \n");
scanf("%le%le", &a, &b);
raschet(a, b, x, y1);
printf("x = %.2lf \ny = %.2lf \n\n",x, y1);
return 0;
}
Проверь, писал в блокноте ) Может где-то ошибки будут )
1
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 11
28.03.2017, 13:52  [ТС] 3
egorthik, спасибо. А вот в этом коде можешь подсказать в чем ошибка?
Компилятор выдает [Error] 'x1' was not declared in this scope
[Error] 'fu1' was not declared in this scope
[Error] 'fu2' was not declared in this scope
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<stdio.h>
#include <math.h>
double f(double x)
{
    double x1;
    x1=x*x+2*x-4;
    return x1;
}
double Gold(double &a, double &b, double &x1, double &fu1, double &fu2, double &x2, double &f1, double &f2)
{
    int n=0;
    const double e=0.000001, t=1.618;
    
    x1 = a+(b-a)*(3-sqrt(double(5)))/2; 
    x2 = a+(b-a)*(sqrt(double(5))-1)/2; // òî÷êè 
    fu1 = f(x1); 
    fu2 = f(x2);
    while (fabs(b-a)/t > e)
    {
        if( fu1<=fu2 )
        {
            b = x2;
            x2 = x1;
            fu2 = fu1;
            x1 = a+(b-a)*(3-sqrt(double(5)))/2;
            fu1 = f(x1);
            n++;
        }
        else
        {
            a = x1;
            x1 = x2;
            fu1 = fu2;
            x2= a+(b-a)*(sqrt(double(5))-1)/2;
            fu2 = f(x2);
           n++;
        }
    }
}
    
int main()
{
double a, b, x, n, f1; 
printf("Vvedite a : \n");
scanf("%le", &a);
printf("Vvedite b : \n");
scanf("%le", &b);
Gold(a, b, x1, fu1, fu2);
    printf("x=%.2lf\n", x1 );
    printf("y=%.2lf\n", fu2);
    printf("kol-vo iter=%d\n", n);
return 0;
}
0
20 / 20 / 8
Регистрация: 15.10.2015
Сообщений: 83
28.03.2017, 15:42 4
Цитата Сообщение от Vadim94 Посмотреть сообщение
egorthik, спасибо. А вот в этом коде можешь подсказать в чем ошибка?
Компилятор выдает [Error] 'x1' was not declared in this scope
[Error] 'fu1' was not declared in this scope
[Error] 'fu2' was not declared in this scope
Да, ошибки есть.
C
1
48строка  Gold(a, b, x1, fu1, fu2);
исправь x1 на x ( у тебя тут x1 не деклавирован )

Добавлено через 42 секунды
и функции fu1 и fu2 не объявлены у тебя
1
28.03.2017, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2017, 15:42
Помогаю со студенческими работами здесь

Описание функции
Всем привет. Помогите, пожалуйста ,с такой не сложной задачей: Нужно описать функцию для...

описание функции
пожалуйста помогите с описанием функции и прокомментируйте если не трудно!!!Обращаюсь к вам...

Описание функции
Помогите пожалуйста описать функцию y

Описание функции
Помогите написать код функции!? Задача: Программа. Описать функцию f (s, n, x), определяющую,...


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

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