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

Табуляция функции и поиск данных

09.04.2021, 11:24. Показов 3314. Ответов 9

Author24 — интернет-сервис помощи студентам
f (x, y) = tg (x-2y) + 2соѕу. x [9..4], hx = 1; в [-2.7], hy = 1.5. Вычислить произведение отрицательное количество положительных значений функции. Вычислить среднее арифметическое 4 строки функции.


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
#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
int main(int argc, char** argv)
{
    system("color 0A");
    setlocale(0, "ukr");
    string a = "---------------------------------------------------------";
    double x, y, f, hx, hy, dob_v = 0;
    int w = 6, r = 0, kil_dod = 0;
    hx = -1; hy = 1.5;
 
    cout << "\\x\\y|";
    for (y = -2; y <= 7; y +=hy)
    cout << fixed << setw(w) << setprecision(2) << y;
    cout << endl << a << a << endl;
    x = 9;
    while(x>4)
    {
        cout << fixed << setw(w) << x << "|";
        r++;
        for (y=20.5; y<=18.5;y+=hy)
        {
            f = tan(x - 2 * y) + 2 * cos(y);
            cout << fixed << setw(w) << setprecision(2) << f;
            dob_v += f;
            if (f > 0)kil_dod++;
        }
        cout << endl;
        x += hx;
        cout << setw(w * 3) << "          Добуток вiд'ємних " << r << " рядка = " << dob_v;
        cout << " кiлькiсть додатних =" << kil_dod << endl;
        dob_v = 0; kil_dod = 0;
    }
    cout << endl << a << a << endl;
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2021, 11:24
Ответы с готовыми решениями:

Табуляция функции, проверка функции на особые точки, решение задачи на прогрессии
Сколько нужно взять членов арифметической прогрессии с заданными первым членом и разностью, чтобы...

Пользовательские алгебраические функции(Табуляция функции)
y=arcsin(2*x) , диапазон изменения аргумента (А=-0.5, B=0.5) количество точек n=21 шаг...

Табуляция функции
Помогите решить задачу пожалуйста,хотя бы подскажите алгоритм решения ,чтот не могу разобраться с...

Табуляция функции
Помогите пожалуйста, нужно протабулировать функцию y=-2x^2+5x, где х меняется от 0 до 100,...

9
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.04.2021, 12:18 2
f (x, y) = tg (x-2y) + 2соѕу. x [9,4], hx = 1; y [-2,7], hy = 1.5. Вычислить произведение отрицательных, количество положительных значений функции.
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 <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
int main()
{    
    int pos=0, k=0;
    double xstart=9., xend=4., hx=1., ystart=-2., yend=7., hy=1.5, mult_neg=1., f, eps=1.e-9;    
 
    cout << "    x     y       f(x,y)\n";
    for (double x=xstart; x>=xend-eps; x-=hx)
        for (double y=ystart; y<=yend+eps; y+=hy)
        {
            f=tan(x-2.*y)+2.*cos(y);
            cout << setw(5) << x << " " << setw(5) << y << " " 
            << setprecision(5) << fixed << setw(12) << f << resetiosflags(ios::fixed) << "\n";
            if (f<-eps) {k=1;mult_neg*=f;}
            else if (f>eps) pos++;
        }
    
    if (k==1) cout << "multiplication negative = " << mult_neg << "\n";
    else cout << "negative values are absent\n";
    cout << "count positive = " << pos << "\n";
    
system("pause");
return 0;
}
в общем случае нужно учесть область определения
Цитата Сообщение от Rostislav11 Посмотреть сообщение
Вычислить среднее арифметическое 4 строки функции
у функции нет понятия строка. можно найти среднее арифметическое 4-ой строки таблицы
1
Модератор
Эксперт CЭксперт С++
5170 / 2892 / 1501
Регистрация: 14.12.2018
Сообщений: 5,230
Записей в блоге: 1
09.04.2021, 12:58 3
Лучший ответ Сообщение было отмечено Rostislav11 как решение

Решение

Цитата Сообщение от Rostislav11 Посмотреть сообщение
f (x, y) = tg (x-2y) + 2соѕу. x [9..4], hx = 1; в [-2.7], hy = 1.5. Вычислить произведение отрицательное количество положительных значений функции. Вычислить среднее арифметическое 4 строки функции.
Попробуйте:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
double f(double x, double y)
{
    return tan(x - 2.0 * y) + 2.0 * cos(y);
}
 
int main()
{
    setlocale(0, "rus");
 
    double xfirst = 9.0, xlast = 4.0, hx = 1.0;
    double yfirst = -2.0, ylast = 7.0, hy = 1.5;
 
    cout << fixed << setprecision(2);
    double y = yfirst;
    cout << "X\\Y";
    while (y <= ylast)
    {
        cout << "\t" << y;
        y += hy;
    }
    cout << endl;
 
    int i = 0;
    double x = xfirst;
    double sum = 0.0, mulNeg = 1.0;
    int flg = 0;
    int k = 0;
    int kPos = 0;
    while (x >= xlast)
    {
        int j = 0;
        y = yfirst;
        while (y <= ylast)
        {
            double val = f(x, y);
            if (val < 0)
            {
                flg = 1;
                mulNeg *= val;
            }
            if (val > 0)
                kPos++;
            if (i == 3)
            {
                sum += val;
                k++;
            }
                
            if (j == 0)
                cout << x << "\t" << val;
            else
                cout << "\t" << val;
            j++;
            y += hy;
        }
        cout << endl;
        i++;
        x -= hx;
    }
    if (flg)
        cout << endl << "Произведение отрицательное: " << mulNeg << endl;
    else
        cout << endl << "Нет произведения отрицательного !" << endl;
    cout << "Количество положительных значений функции: " << kPos << endl;
    cout << "Среднее арифметическое 4 строки функции: " << sum / k << endl;
 
    system("pause");
    return 0;
}
Результат:
Код
X\Y     -2.00   -0.50   1.00    2.50    4.00    5.50    7.00
9.00    -0.37   2.40    1.95    -0.44   0.25    3.60    4.89
8.00    -1.47   1.30    0.79    -1.74   -1.31   1.56    1.80
7.00    -226.78 -5.04   -2.30   -3.79   -2.86   0.26    0.64
6.00    -0.18   2.63    2.24    -0.04   0.88    4.80    8.31
5.00    -1.28   1.46    0.94    -1.60   -1.16   1.71    1.96
4.00    -7.63   -1.63   -1.10   -3.16   -2.47   0.55    0.86

Произведение отрицательное: 33135.39
Количество положительных значений функции: 22
Среднее арифметическое 4 строки функции: 2.66
Добавлено через 6 минут
Цитата Сообщение от Yetty Посмотреть сообщение
у функции нет понятия строка.
Почему нет в этом случае функция с 2 параметром ? (x и y) ???
Цитата Сообщение от Yetty Посмотреть сообщение
можно найти среднее арифметическое 4-ой строки таблицы
Что можно по вашему коду ? Где среднее арифметическое ? Не понял.
2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.04.2021, 14:16 4
Цитата Сообщение от Volga_ Посмотреть сообщение
Не понял
что именно не понятно ? условие сформулировано некорректно. слово строка не имеет отношения к функции
0
Модератор
Эксперт CЭксперт С++
5170 / 2892 / 1501
Регистрация: 14.12.2018
Сообщений: 5,230
Записей в блоге: 1
09.04.2021, 14:23 5
Цитата Сообщение от Yetty Посмотреть сообщение
что именно не понятно ?
По вашему коду, в 4 строки как получается среднее арифметическое ? В этой строке только ОДНО значение функции, что будет среднее арифметическое ??? Вы поняли что вы сказали :
Цитата Сообщение от Yetty Посмотреть сообщение
можно найти среднее арифметическое 4-ой строки таблицы
???

Цитата Сообщение от Yetty Посмотреть сообщение
условие сформулировано некорректно
Вы посмотрели мой вариант ? Это именно соответствует условию задачи. Как условие сформулировано некорректно ? Не понял. Видел, что условие задачи очень корректно.

Все условия задачи решены были в моем коде.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.04.2021, 14:51 6
Цитата Сообщение от Volga_ Посмотреть сообщение
По вашему коду, в 4 строки как получается среднее арифметическое ?
где Вы увидели среднее арифметическое в моём коде ? я не находил среднее арифметическое потому что
Цитата Сообщение от Yetty Посмотреть сообщение
условие сформулировано некорректно
условие, которое я решал выведено в начале кода:
Цитата Сообщение от Yetty Посмотреть сообщение
f (x, y) = tg (x-2y) + 2соѕу. x [9,4], hx = 1; y [-2,7], hy = 1.5. Вычислить произведение отрицательных, количество положительных значений функции.
Цитата Сообщение от Volga_ Посмотреть сообщение
Вы поняли что вы сказали
я предложил ТС если он хочет найти среднее арифметическое строки, найти среднее арифметическое строки таблицы. что Вам не понятно ?
Цитата Сообщение от Volga_ Посмотреть сообщение
Вы посмотрели мой вариант ?
да. пример того как не нужно писать код.
Цитата Сообщение от Volga_ Посмотреть сообщение
Все условия задачи решены были в моем коде.
как может быть всё решено если нет нормального условия задачи ? почему например Вы решили аргумент y вывести по горизонтали, а x по вертикали ? что мешает вывести x по горизонтали, а y по вертикали ? понимаете что в этом случае получится другое значение ?
0
0 / 0 / 0
Регистрация: 09.04.2021
Сообщений: 52
09.04.2021, 14:52  [ТС] 7
Как сделать общий вывод информации в конце а не под каждым рядком.

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
54
55
56
57
58
59
#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
int main(int argc, char** argv)
{
    system("color 0A");
    setlocale(0, "ukr");
    string a = "-------------------------------------";
    double x, y, f, hx, hy, dob_v = 0, sum=0.0 ;
    int w = 6, r = 0, kil_dod = 0, flg=0, k=0, j=0;
    hx = -1; hy = 1.5;
 
    cout << "  \\x\\y|";
    for (y = -2; y <= 7; y +=hy)
    cout << fixed << setw(w) << setprecision(2) << y;
    cout << endl << a << a << endl;
    x = 9;
    while(x>3)
    {
        cout << fixed << setw(w) << x << "|";
        r++;
        for (y=-2; y<=7;y+=hy)
        {
            f = tan(x - 2 * y) + 2 * cos(y);
            cout << fixed << setw(w) << setprecision(2) << f;
            dob_v += f;
            if (f > 0)kil_dod++;
 
            double val = (x, y);
            if (val < 0)
            {
                flg = 1;
                dob_v *= val;
            }
            if (r == 3)
            {
                sum += val;
                k++;
            }
        }
        cout << endl;
        x += hx;
 
        if (flg)
        cout << endl << "Произведение отрицательное: " << dob_v << endl;
        else
        cout << endl << "Нет произведения отрицательного !" << endl;
        cout << "Кiлькiсть додатнiх значень функцii: " << kil_dod << endl;
        cout << "Среднее арифметическое 4 строки функции: " << sum / k << endl;
        dob_v = 0; kil_dod = 0;
    }
    cout << endl << a << a << endl;
    system("pause");
    return 0;
}
Табуляция функции и поиск данных
0
Модератор
Эксперт CЭксперт С++
5170 / 2892 / 1501
Регистрация: 14.12.2018
Сообщений: 5,230
Записей в блоге: 1
09.04.2021, 15:06 8
Цитата Сообщение от Yetty Посмотреть сообщение
что мешает вывести x по горизонтали, а y по вертикали ?
По принципу мой вариант лучше чем ваш, ТС может поменять для получения как второй вариант для задачи. Ваш вариант не получается полные результаты, которые нужны для задачи ! Конечно, как я понимаю, ваш не решение задачи.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.04.2021, 15:35 9
Цитата Сообщение от Volga_ Посмотреть сообщение
Сообщение от Yetty
что мешает вывести x по горизонтали, а y по вертикали ?
ТС может поменять для получения как второй вариант для задачи
задача должна иметь однозначное решение
0
Модератор
Эксперт CЭксперт С++
5170 / 2892 / 1501
Регистрация: 14.12.2018
Сообщений: 5,230
Записей в блоге: 1
09.04.2021, 16:45 10
Цитата Сообщение от Rostislav11 Посмотреть сообщение
Как сделать общий вывод информации в конце а не под каждым рядком.
Вы хотите произведение отрицательное, количество положительных для каждого строки ? Или их общие значение как я сделал в другом вашем посте ?
0
09.04.2021, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2021, 16:45
Помогаю со студенческими работами здесь

табуляция функции
Помогите написать программу... Табуляция функции Y=F(x) функция (tg^4(x)+tg^4(0.4x))/0.4x при...

Табуляция функции y=x^2-4x+3
Табулировать функцию y=x^2-4x+3. Программа должна содержать описание класса, реализующего...

Табуляция функции
Здравствуйте, помогите пожалуйста. Вычислить количество точек на графике функции, лежащих левее...

Табуляция функции
Составить программу, которая распечатывает заданное количество значений функций asb(sin(x)) и...

Табуляция функции
Помогите пожалуйста с табуляцией... Не могу разобраться... =( В задании нужно протабулировать...

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


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

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

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