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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
#1

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

18.03.2012, 01:24. Просмотров 1186. Ответов 16
Метки нет (Все метки)

кто подскажет, как сделать программу(первая прога на 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) не равно нулю, и целое значение в противном случае
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2012, 01:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос решение функции в виде таблицы (C++):

Оформить решение в виде функции - C++
#include &lt;iostream&gt; using namespace std; int main() { int C =...

Оформить в виде функции на С/С++ решение задачи - C++
Помогите пожалуйста

Оформить в виде функции на C++ решение задачи - C++
Добрый вечер! Помогите решить задачу на C++. (Среда компилирования: Turbo C++ в DOS BOX) {b}_{i}= \prod_{j}^{i}{a}_{j} где i=1,2,3...,n ...

Вывести в виде таблицы значения функции F - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { double Xn, Xk, a, b, c, F, dX; cout&lt;&lt;&quot;Xn: &quot;; ...

Вывести в виде таблицы значения функции - C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от XНАЧ до XКОН с шагом dX. где a, b, c – действительные...

Вывести в виде таблицы значения функции - C++
Решите пожалусйта Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. ...

16
-=ЮрА=-
Заблокирован
Автор FAQ
19.03.2012, 22:29 #2
tarakano, здесь объяснял на примере как печатать таблицу значений, (там есть ссылки и на уже решённое, код Си скрыт под написью Код Си, ссылка под надписью код С++) http://www.cyberforum.ru/faq/thread4...ml#post2432262
1
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;
}
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 в остальных случаях
- нууу очень сложно понять что к чему | - это модуль или просто затесалась палка???
0
-=ЮрА=-
Заблокирован
Автор 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;
}
1
Миниатюры
решение функции в виде таблицы  
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)?
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.03.2012, 01:42 #7
Цитата Сообщение от tarakano Посмотреть сообщение
это означает, что функция зависит от 4х переменных(x,a,b,c)?
- она от x но коэффициенты надо же как то в тело функции передать или ты хотел бы чтобы a - c были глобальными переменными?
1
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?
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), при этом всё считается также как если бы условий было три
1
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) не равно нулю, и целое значение в противном случае
0
-=ЮрА=-
Заблокирован
Автор 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 ответ дать как целое?
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) в остальных случаях - целое
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.03.2012, 17:11 #13
tarakano, хорошо,скоро займусь
0
tarakano
34 / 26 / 5
Регистрация: 24.12.2010
Сообщений: 164
25.03.2012, 19:07  [ТС] #14
-=ЮрА=-, хорошо
0
-=ЮрА=-
Заблокирован
Автор 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;
}
1
Миниатюры
решение функции в виде таблицы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 21:15
Привет! Вот еще темы с ответами:

Вывод в виде таблицы значения функции y=f(x) - C++
Написать программу, которая выводит в виде таблицы значения функции y=f(x) на интервале х∈ c шагом dx=1 2*sqr(x)...

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

Вывести на экран в виде таблицы значения функции - C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач до Xкон с началом dX ax2-cx+b при x+10&lt;0 и b≠0 ...

Вывести на экран в виде таблицы значения функции - C++
Y=sqrt(x*x+a*a)/(x-a) на отрезке 4&lt;=a&lt;=6 с шагом 0.2 для х от 3 до 5 с шагом 0,5. Точку х=а исключить. #include &lt;iostream.h&gt;...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
25.03.2012, 21:15
Ответ Создать тему
Опции темы

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