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

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

Восстановить пароль Регистрация
 
Warezovvv
 Аватар для Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
15.04.2013, 18:09     Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Ф нач - Ф конеч #1
Вычислить и вывести на экран в виде таблицы значения функции F на интервале [Fнач,Fкон] с шагом dx. Вид функции F определяется индивидуальным вариантом. Коэффициенты a,b,c являются действительными числами. Значения a,b,c,Fнач,Fкон,dx ввести с клавиатуры.
Примечание: тестовые данные должны охватывать все ветки функции D.

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
//4laba.cpp
// fravno();
#include <iostream> 
#include <cmath>
#include <locale>
#include <iomanip>
using namespace std;
//---------------------------------------------------------
double fravno(int a,int b,int c,double xn,double xk,double dx); 
double first(int a,double x,int b);
double second(double x,int a,int c,int b);
double third(double x,int c);
void validcin(double ch){
        while (cin.fail())
        {
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max() , '\n');
        cout<<"Повторите ввод:";
        cin>>ch;
        }
        ;}
//---------------------------------------------------------
int main(){ 
        setlocale(LC_ALL,"rus");
        int y,a,b,c;
        double xn,xk,dx;
    cout<<"Введите a=";
    cin>>a;
    validcin(a);
 
    cout<<"Введите b=";
    cin>>b;
    validcin(b);
 
    cout<<"Введите c=";
    cin>>c;
    validcin(c);
 
    cout<<"Введите xn=";
    cin>>xn;
    validcin(xn);
 
    cout<<"Введите xk=";
    cin>>xk;
    validcin(xk);
 
    cout<<"Введите dx=";
    cin>>dx;
    validcin(dx);
 
    for(y=0;xn<xk;xk++)
    {
        y=y++;
        xk=xn+y*dx;
    }
 
    if (xn<0 && b!=0)   cout<<first(a,xn,b);
    else if (b=0 && xn>0)   cout<<second(xn,a,c,b);
        else    cout<<third(xn,c);
        
return 0;
}
//---------------------------------------------------------
double first(int a,double xk,int b){ 
return a-(xk/(10+b))
;}
double second(double xk,int a,int c,int b){
return (xk-a)/(xk-c)
;}
double third(double xk,int c){
return 3*xk+2/c
;}
набросал код
Есть три вопроса и может быть еще миллион
1) Если например мы ввели нач -5 а конеч 5 то мы попадаем в ветку 1, но когда х будет равно 0, то что произойдет, должна считаться вторая ветка?
2)Как вывести F. много F?
3)Как учесть деление на 0

Добавлено через 59 минут
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//4laba.cpp
// fravno();
#include <iostream> 
#include <cmath>
#include <locale>
#include <iomanip>
using namespace std;
//---------------------------------------------------------
double fravno(int a,int b,int c,double xn,double xk,double dx); //Прототипы
double first(int a,double x,int b);
double second(double x,int a,int c,int b);
double third(double x,int c);
void cycle(int f,double xk,double xn,double dx);
void validcin(double ch){                                        //Функция на проверку правильности ввода.
        while (cin.fail())
        {
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max() , '\n');
        cout<<"Повторите ввод:";
        cin>>ch;
        }
        ;}
//---------------------------------------------------------
int main(){ 
    setlocale(LC_ALL,"rus");
    int y,f,a,b,c;
    double xn,xk,dx;
    cout<<"Введите a=";
    cin>>a;
    validcin(a);
 
    cout<<"Введите b=";
    cin>>b;
    validcin(b);
 
    cout<<"Введите c=";
    cin>>c;
    validcin(c);
 
    cout<<"Введите xn=";
    cin>>xn;
    while (cin.fail())
        {
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max() , '\n');
        cout<<"Повторите ввод:";
        cin>>xn;
        }
        ;
 
 
    cout<<"Введите xk=";
    cin>>xk;
    while (cin.fail() || xn>xk)
        {
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max() , '\n');
        cout<<"Повторите ввод:";
        cin>>xk;
        }
        ;
 
    cout<<"Введите dx=";
    cin>>dx;
    while (cin.fail() || (xk-xn)<dx)
        {
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max() , '\n');
        cout<<"Повторите ввод:";
        cin>>dx;
        }
        ;
 
    for(y=0;xn<xk;xk++)                                                 //Цикл для подсчета с шагом
    {
        y=y++;
        xn=xn+y*dx;
    }
    for(f=0;f>(xk-xn)/dx;f++)
    {}
 
    if (xn<0 && b!=0)   cout<<cycle(first(a,xn,b),xk,xn,dx);            //Ввывод F
    else if (b=0 && xn>0)   cout<<cycle(second(xn,a,c,b),xk,xn,dx);
        else    cout<<cycle(third(xn,c),xk,xn,dx);
        
return 0;
}
//---------------------------------------------------------
void cycle(double f,double xk,double xn,double dx){                     //Цикл для вывода n-го кол-ва F
    for(f=0;f<(xk-xn)/dx;f++)
cout<<"Ответ"<<f;}
 
double first(int a,double xk,int b){ 
return  a-(xk/(10+b))
;}
double second(double xk,int a,int c,int b){
return (xk-a)/(xk-c)
;}
double third(double xk,int c){
return 3*xk+2/c
;}
немного дописал перпеписал. Я еще "нуб" (т.е . полное днище) так штааа ашипок кучка.
Надеюсь на вашу помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 18:09     Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Ф нач - Ф конеч
Посмотрите здесь:

Вычислить и вывести на экран в виде таблицы значения функции F на интервале C++
C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.
C++ Вычислить и вывести на экран в виде таблицы значения ф-ции F на интервале от нач до конечн х, с шагом dx
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон. с шагом dX. C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х[нач] до Х[кон] с шагом dx C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале (Павловская) C++
C++ Вычислить и вывести на экран в виде таблицы значение функции F на интервале от Х нач. до Хкон.с шагом dX

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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