Форум программистов, компьютерный форум CyberForum.ru

решение функции в виде таблицы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
18.03.2012, 01:24     решение функции в виде таблицы #1
кто подскажет, как сделать программу(первая прога на visual с++), пока только теорию читал, но как понял - этого мало Вот возникла проблемма с написанием кода, условие:


Вычислить и вывести на экран в виде таблицы значения функции А на интервале X1 до Х2 с шагом dX. В условии через Ac, Bc, Cc обозначены целые части значений a, b, c(все действительные числа). Значения X1, X2, dx, a, b, с вводятся с клавиатуры. Вывести на экран условие задания.
| -a*x*x-b, при x+c<0 и a<>0
F=| (x-a)/(x-c), при x+c>0 и а=0
| x/c+c/x в остальных случаях

Решить задание, при условии, что ф-ция F должна принимать действительное значение, если (Ac и Bc) или (Ac и не Cc) не равно нулю, и целое значение в противном случае
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
19.03.2012, 22:29     решение функции в виде таблицы #2
tarakano, здесь объяснял на примере как печатать таблицу значений, (там есть ссылки и на уже решённое, код Си скрыт под написью Код Си, ссылка под надписью код С++) http://www.cyberforum.ru/faq/thread4...ml#post2432262
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
19.03.2012, 22:55  [ТС]     решение функции в виде таблицы #3
-=ЮрА=-, спасибо, буду разбираться

Добавлено через 24 минуты
-=ЮрА=-, что не так написал, подскажешь?
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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
 
{
        int a; 
        int b;
        int c;
        int x, Xn, Xk, dx;
      
 
    cout<<"Vvedite a=";
    cin>>a;
    cout<<"Vvedite b=";
    cin>>b;
    coat<<"Vvedite c=";
    cin>>c;
      
        if(x+c<0) and (a<>0)
                ret = -a*x*x-b;
        if (x+c>0) and a=0 
                ret =((x-a)/(x-c));
        else    ret = x/c+c/x;
        return ret;
}
 
int main()
{
        double Xn, Xk, dx;
       
        cout<<"Enter Xn : ";cin>>Xn;
        cout<<"Enter Xk : ";cin>>Xk;
        cout<<"Enter dx : ";cin>>dx;
 
        cout<<"---------------\n";
        cout<<"  x  |  f(x)  |\n";
        cout<<"---------------\n";
        for(x = Xn; x <= Xk + dx; x += dx)
              
        
        
        return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
19.03.2012, 23:06     решение функции в виде таблицы #4
Цитата Сообщение от tarakano Посмотреть сообщение
-=ЮрА=-, что не так написал, подскажешь?
Цитата Сообщение от tarakano Посмотреть сообщение
{
* * * * int a;
* * * * * * * * int b;
* * * * * * * * int c;
* * * * * * * * int x, Xn, Xk, dx;
cout<<"Vvedite a=";
* * * * cin>>a;
* * * * cout<<"Vvedite b=";
* * * * cin>>b;
* * * * coat<<"Vvedite c=";
* * * * cin>>c;
if(x+c<0) and (a<>0)
* * * * * * * * ret = -a*x*x-b;
* * * * * * * * if (x+c>0) and a=0
* * * * * * * * * * * * ret =((x-a)/(x-c));
* * * * else * *ret = x/c+c/x;
* * * * return ret;
}
- это вырванный кусок из контекста

Цитата Сообщение от tarakano Посмотреть сообщение
for(x = Xn; x <= Xk + dx; x += dx)
- это даже не пустой цикл (нет ни точки с запятой ни скобок) + вдобавок переменная x не объявлена.Лан ща подправлю...

Добавлено через 4 минуты
tarakano, а можешь прилепить скриншот задания?
Цитата Сообщение от tarakano Посмотреть сообщение
| -a*x*x-b, при x+c<0 и a<>0
F=| (x-a)/(x-c), при x+c>0 и а=0
| x/c+c/x в остальных случаях
- нууу очень сложно понять что к чему | - это модуль или просто затесалась палка???
-=ЮрА=-
Заблокирован
Автор FAQ
19.03.2012, 23:20     решение функции в виде таблицы #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
30
#include <iostream>
using namespace std;
 
double F(double x, double a, double b, double c)
{
    double ret = -a*x*x - b;
    if(0 < x + c)
    if(a == 0)
        ret = (x - a)/(x - c);
    else
        ret = x/c + c/x;
    return ret;
}
 
int main()
{
    double xn, xk, dx, x;
    double a, b, c;
    cout<<"Enter xn : ";cin>>xn;
    cout<<"Enter xk : ";cin>>xk;
    cout<<"Enter dx : ";cin>>dx;
    cout<<"Enter a  : ";cin>>a;
    cout<<"Enter b  : ";cin>>b;
    cout<<"Enter c  : ";cin>>c;
    cout<<"  x\t  F\n";
    for(x = xn; x < xk + dx; x = x + dx)
        cout<<x<<"\t"<<F(x,a,b,c)<<endl;
    system("pause");
    return 0;
}
Миниатюры
решение функции в виде таблицы  
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
19.03.2012, 23:49  [ТС]     решение функции в виде таблицы #6
Добавлено через 4 минуты
tarakano, а можешь прилепить скриншот задания?
- нууу очень сложно понять что к чему | - это модуль или просто затесалась палка???[/QUOTE]


| - это я пытался ввиде системы написать, но в сообщении по другому отоброзилось

Добавлено через 8 минут
C++
1
     cout<<"  x\t  F\n";
а что тут такое t и n?

C++
1
   cout<<x<<"\t"<<F(x,a,b,c)<<endl;
F(x,a,b,c) - это означает, что функция зависит от 4х переменных(x,a,b,c)?
-=ЮрА=-
Заблокирован
Автор FAQ
20.03.2012, 01:42     решение функции в виде таблицы #7
Цитата Сообщение от tarakano Посмотреть сообщение
это означает, что функция зависит от 4х переменных(x,a,b,c)?
- она от x но коэффициенты надо же как то в тело функции передать или ты хотел бы чтобы a - c были глобальными переменными?
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
20.03.2012, 23:05  [ТС]     решение функции в виде таблицы #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
double ret = -a*x*x - b;
if(0 < x + c)
if(a == 0)
ret = (x - a)/(x - c);
else
ret = x/c + c/x;
return ret;
а как тут для первого выражения (ret = -a*x*x - b) дописать условие, что так считаем, при x+c<0 и a<>0?
-=ЮрА=-
Заблокирован
Автор FAQ
21.03.2012, 10:25     решение функции в виде таблицы #9
Цитата Сообщение от tarakano Посмотреть сообщение
а как тут для первого выражения (ret = -a*x*x - b) дописать условие, что так считаем, при x+c<0 и a<>0?
- не надо там ничего дописывать, мы счиатем -a*x*x - b; если у нас x+c<0 то в дальнейшие условия не заходим, если же 0 < x + c мы заходим в водно из условий ниже и осуществляем пересчёт. Это называется исключение условного оператора, т.е при правильной логике построения в системах где 3 условия можно писать всего 2.
tarakano, я как раз и сделал код с исключением 1-го логического оператора(сэкономив 1 if), при этом всё считается также как если бы условий было три
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
24.03.2012, 14:35  [ТС]     решение функции в виде таблицы #10
-=ЮрА=-, а как ещё вот это сюда прописать?

В условии через Ac, Bc, Cc обозначены целые части значений a, b, c(все действительные числа).
Решить задание, при условии, что ф-ция F должна принимать действительное значение, если (Ac и Bc) или (Ac и не Cc) не равно нулю, и целое значение в противном случае
-=ЮрА=-
Заблокирован
Автор FAQ
24.03.2012, 14:50     решение функции в виде таблицы #11
Цитата Сообщение от tarakano Посмотреть сообщение
В условии через Ac, Bc, Cc обозначены целые части значений a, b, c(все действительные числа).
Решить задание, при условии, что ф-ция F должна принимать действительное значение, если (Ac и Bc) или (Ac и не Cc) не равно нулю, и целое значение в противном случае
- можешь немного пояснить?Т.е. когда если Ac, Bc, Cc не равны нулю ответ давать как вещественное число, а когда Ac, Bc, Cc == 0 ответ дать как целое?
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
24.03.2012, 16:54  [ТС]     решение функции в виде таблицы #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- можешь немного пояснить?Т.е. когда если Ac, Bc, Cc не равны нулю ответ давать как вещественное число, а когда Ac, Bc, Cc == 0 ответ дать как целое?
если:
1) Ас и Вс равны нулю, Сс-любое - тогда действителное
2) Ас=0, Сс - не равно нулю, Вс-любое - тоже действителное
3) в остальных случаях - целое
-=ЮрА=-
Заблокирован
Автор FAQ
24.03.2012, 17:11     решение функции в виде таблицы #13
tarakano, хорошо,скоро займусь
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
25.03.2012, 19:07  [ТС]     решение функции в виде таблицы #14
-=ЮрА=-, хорошо
-=ЮрА=-
Заблокирован
Автор FAQ
25.03.2012, 21:15     решение функции в виде таблицы #15
tarakano, думаю так
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
#include <iostream>
#include <cmath>
using namespace std;
 
double F(double x, double a, double b, double c)
{
    double ret = -a*x*x - b;
    if(0 < x + c)
    if(a == 0)
        ret = (x - a)/(x - c);
    else
        ret = x/c + c/x;
    double Ac, Bc, Cc;
    modf(a,&Ac);
    modf(b,&Bc);
    modf(c,&Cc);
    if(!(Ac == 0 && Bc == 0)) //Ас и Вс равны нулю, Сс-любое - тогда действителное
    if(  Ac != 0)//Ас=0, Сс - не равно нулю, Вс-любое - тоже действителное
        modf(ret,&ret);//А это как раз случай всех остальны вариантов
    return ret;
}
 
int main()
{
    double xn, xk, dx, x;
    double a, b, c;
    cout<<"Enter xn : ";cin>>xn;
    cout<<"Enter xk : ";cin>>xk;
    cout<<"Enter dx : ";cin>>dx;
    cout<<"Enter a  : ";cin>>a;
    cout<<"Enter b  : ";cin>>b;
    cout<<"Enter c  : ";cin>>c;
    cout<<"  x\t  F\n";
    for(x = xn; x < xk + dx; x = x + dx)
        cout<<x<<"\t"<<F(x,a,b,c)<<endl;
    system("pause");
    return 0;
}
Миниатюры
решение функции в виде таблицы  
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
25.03.2012, 21:48  [ТС]     решение функции в виде таблицы #16
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
tarakano, думаю так
а что означает это:
C++
1
2
3
 modf(a,&Ac);
        modf(b,&Bc);
        modf(c,&Cc);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 22:26     решение функции в виде таблицы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
25.03.2012, 22:26     решение функции в виде таблицы #17
tarakano,
Цитата Сообщение от tarakano Посмотреть сообщение
а что означает это:
*modf(a,&Ac);
* * * * modf(b,&Bc);
* * * * modf(c,&Cc);
- с помощью modf выделяем целые части у чисел а,b,с
см ниже ссылки о modf
http://www.cplusplus.com/reference/clibrary/cmath/modf/
http://www.codenet.ru/progr/cpp/sprd/modf.php
Yandex
Объявления
25.03.2012, 22:26     решение функции в виде таблицы
Ответ Создать тему
Опции темы

Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru