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

Значения функции F на интервале от X нач до Хкон с шагом dX - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти среднюю длину слова в тексте http://www.cyberforum.ru/cpp-beginners/thread701621.html
Помогите, прога С++. найти среднюю длину слова в тексте( без учета пробелов)
C++ Стеки Сделал очередь, а вот кольцевой не получается, подскажите как сделать. #include <iostream> using namespace std; int main() { int val; int last; int const size = 100; http://www.cyberforum.ru/cpp-beginners/thread701602.html
Задача на множества C++
Реализовать 2 представления множеств в памяти ЭВМ в программе(через машинное слово и массив битов), которая по заданным множествам A, B, C, D строчных русских букв вычисляет множество, содержащие все...
C++ Как заполнить массив буквами английского алфавита ?
26 букв Добавлено через 48 секунд 26 букв с помощью цикла for и по порядку ! Заранее спасибо!
C++ Рекурсия http://www.cyberforum.ru/cpp-beginners/thread701554.html
не знаю как это сделать..помогите
C++ Функция возведения в степень Добрый день. Ребята, помогите решить проблему. Написал функцию для вычисления действительных корней кубического уравнения. возникает непонятная ситуация в случае, когда дискриминант D > 0. При... подробнее

Показать сообщение отдельно
V1k1nG
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5

Значения функции F на интервале от X нач до Хкон с шагом dX - C++

18.11.2012, 22:00. Просмотров 651. Ответов 2
Метки (Все метки)

Привет всем=) Учусь на программиста, возникла проблема с решением задачи на с++. Помогите пожалуйста.
Задание сформулировано так:
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от X нач до Хкон с шагом dX .
функция f(x)=ax^2-bx+c при x<-3; (x-a)/(x-c) при -3<=x<=3 и x/c при x>3.
где а, b , c – действительные числа. Функция F должна принимать действительное значение, если выражение

НЕ(Ац ИЛИ Вц) И (Ац МОД2 Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a , b , c , операции НЕ, И, ИЛИ и МОД2 (сложение по модулю два) – поразрядные. Значения a , b , c , Хнач, Хкон, dX ввести с клавиатуры.

Написал код, но он в некоторых случаях некорректно выводит значение х=0. Вместо него появляется что то вроде e^-16.22. Помогите пожалуйста, а то лаба висит. Код приведу ниже.


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
#include <cstdio>
#include <iostream>
#include <conio.h>
#include <locale.h>
#include <cmath>
using namespace std;
 
 
int main()
{ 
    setlocale(0,"Russian");
 
    double xnach, xkonech,a, b, c;
    double f=0;
    double dx;
    bool h=false;
    cout << "Введите Хнач: "; cin >> xnach;
    cout << "Введите Хконеч: "; cin >> xkonech;
    cout << "Введите dx: "; cin >> dx;
    cout << "Введите a: ";   cin >> a;
    cout << "Введите b: ";   cin >> b;
    cout << "Введите c: "; cin >> c; 
    double x=xnach;
    while(x<=xkonech) {
        if(x<-3)f=a*x*x-b*x+c;
        else if(x>3) {
                        if (c!=0) f=x/c;    
                        else {f=0;
                        h=true;
                    }
        }
        else
            if(x-c!=0) f=(x-a)/(x-c);
            else  {f=0;
            h=true;
            }
 
        if(~((int)a ||(int)b)&&((int)a|(int)c)==0) f = (int)f;
        if(fabs(f) < 1e-5) f=0;
        if(fabs(x) < 1e-5) x=0;
        cout << "\n x=";cout << x;
        if(h)cout << "\t\tделение на ноль запрещено";
        else {cout << "\t\tf="; cout << f;}
        x=x+dx;
        h=false;
    }
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru