0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 29
1

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

04.12.2019, 17:54. Показов 1341. Ответов 4
Метки c++ (Все метки)

Дословно задание звучит так: "Вычислить и вывести на экран в виде таблицы значения функции, заданной графически на
интервале от хнач. до хкон. с шагом dx.(рис. 1)"

Я вычислил значения функции на каждом из промежутков(рис. 2), но как это всё записать, понятия не имею.
И через if'ы как -то пытался, и через for... Но какой-то бред выходит в принципе...
Подскажите, что делать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//И ШО С ЭТИМ ДЕЛАТЬ?
double y;
 
double x1=-9;
double x2=9;
double dx=1;
double x;
 
 
 
 
 
for (x=x1; x<=x2; x+=dx)
{
    if  (x>=-9 && x<=-6)
    y=-sqrt(9-(x+6)*(x+6));
cout<<  "y=-sqrt(9-(x+6)*(x+6))= "<< y<<endl;
    
    if (x>-6 && x<=-3); 
    y=x=3;
    cout<<"y=x+3= "<<y<< endl;
}
Миниатюры
Вычисление значения функции   Вычисление значения функции  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2019, 17:54
Ответы с готовыми решениями:

Ввод значения аргумента x и вычисление значения функции y
Разработать программу, которая вводит значения аргумента x и вычисляет значение функции y:

Вычисление значения функции (x+y/(y+1)-(xy-12)/(34+x)
составить программу вычисления значения функции ((x+y/(y+1))-((xy-12)/(34+x)) на c++

Вычисление значения функции
Доброго времени суток. Дано условие. Надо вычислить значение функции Если x&lt;0 или x&gt;10, то z=x, в...

Вычисление значения функции
1.Написать программу выполняющую указанные вычисления. 2. При реализации программы допустить...

4
7422 / 5017 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
05.12.2019, 13:52 2
Цитата Сообщение от justhelppls Посмотреть сообщение
Но какой-то бред выходит в принципе...
есть ошибки, но в целом двигаетесь в правильном направлении. вывод - одна (последняя) строка в конце цикла
C++
1
cout << x << "  " << y << "\n";
уберите точку с запятой
if (x>-6 && x<=-3);

исправьте опечатку
y=x=3;
y=x+3;

допишите код и сбросьте для проверки
0
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 29
05.12.2019, 16:08  [ТС] 3
По сути ничего и не дописал толком...
Если запустить программу, то в принципе где-то даже почти правильно показывает (-6=х у=-3-3; -3=х у=00), только y дублируется почему-то.

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
#include <iostream>
#include <cmath>
using namespace std;
 
int main(int argc, char** argv) {
double y;
 
double x1=-9;
double x2=9;
double dx=1;
double x;
 
for (x=x1; x<=x2; x+=dx)
{
    if (x>=-9 && x<=-6)
     y=-sqrt(9-(x+6)*(x+6));
     cout << y << endl;
    
    if (x>-6 && x<=-3)
     y=x+3;
     cout << y << endl;
    
    if (x>-3 && x<=0)
     y=sqrt(9-x*x);
     cout << y << endl;
    
    if (x>0 && x<=3)
     y=-x+3;
     cout << y << endl;
     
    if (x>3 && x<=9)
     y=0,5*(x-3);
     cout << y << endl;
cout << x << "=x    y=" << y;   
}
    
    
    return 0;
}
Ещё не понимаю, зачем "\n" вот тут:
C++
1
cout << x << "  " << y << "\n";
0
7422 / 5017 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
05.12.2019, 17:35 4
Лучший ответ Сообщение было отмечено justhelppls как решение

Решение

Цитата Сообщение от justhelppls Посмотреть сообщение
только y дублируется почему-то
уберите лишние cout и не будет дублироваться

Цитата Сообщение от justhelppls Посмотреть сообщение
не понимаю, зачем "\n"
перенос строки. можете endl оставить

здесь нужна точка вместо запятой
y=0,5*(x-3);

если нужно выравнять колонки, сообщите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
using namespace std;
 
int main() 
{
    double x1=-9., x2=9., dx=1., y;
 
    cout << " x    y\n";
    for (double x=x1; x<=x2; x+=dx)
    {
        if (x<-6.) y=-sqrt(9.-(x+6.)*(x+6.));
        else if (x<-3.) y=x+3.;    
        else if (x<0.) y=sqrt(9.-x*x);
        else if (x<3.) y=-x+3.;
        else y=0.5*(x-3.);
        if(y==-0.) y=0.;
        cout << x << "   " << y << "\n";
    }
    
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 29
05.12.2019, 18:29  [ТС] 5
Yetty, всё получилось, большое спасибо! Не первый раз выручаете уже
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2019, 18:29
Помогаю со студенческими работами здесь

Вычисление значения функции
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон. с...

Вычисление значения функции
Составить программу вычисления функции F согласно картинке. Размерности массива и значения...

Вычисление значения функции
Функция f(x)=(x^2-1)/x; Вычислить значение функции f(x), меняющегося в интервале от -5 до 7, с...

Вычисление значения функции
Вычислить значения функции f(x)=(x^2-1)/x с интервалом (0,5) с шагом 0,25. 1) Сумма всех нечетных...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru