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

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

Войти
Регистрация
Восстановить пароль
 
Andrey26rus
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 112
#1

Вывод интервалов для решения неравенства второй степени - C++

07.06.2014, 15:01. Просмотров 275. Ответов 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
void CNeravenstvovtoroystepeniDlg::OnBnClickedButton1()
{
    // TODO: добавьте свой код обработчика уведомлений
UpdateData();
 
double a=m_A;
double b=m_B;
double c=m_C;
double  x1,x2,d;
CString VN=m_VN;
//MsgBox("a*x*x+b*x+c=CString VN");
if (a>0)
{
    //MsgBox(Ветви параболы направлены вверх);
     d=b*b-4*a*c;
if (d<0)
{
    CAboutDlg dlgAbout;
   dlgAbout.DoModal();
 
}
    //MsgBox(Квадратный трехчлен не имеет решений, а парабола не имеет общих точек с осью x);
else 
    {
    //MsgBox(Парабола имеет две общие точки с осью x);
    x1=(-b+ sqrt(d))/(2*a);
    x2=(-b- sqrt(d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
 
if (d==0)
{
    //MsgBox(Парабола имеет одну общую точку с осью x);
    x1=(-b+ sqrt( d))/(2*a);
    x2=(-b- sqrt( d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
}
if (a<0)
{
    //MsgBox(Ветви параболы направлены вниз);
     d=b*b-4*a*c;
if (d<0)
{
      CAboutDlg dlgAbout;
  dlgAbout.DoModal();
 
    //MsgBox(Квадратный трехчлен не имеет решений, а парабола не имеет общих точек с осью x);
}
else 
    {
    //MsgBox(Парабола имеет две общие точки с осью x);
    x1=(-b+ sqrt( d))/(2*a);
    x2=(-b- sqrt( d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
if (d==0)
{
    //MsgBox(Парабола имеет одну общую точку с осью x);
    x1=(-b+ sqrt(d))/(2*a);
    x2=(-b- sqrt(d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
}
UpdateData(false);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 15:01     Вывод интервалов для решения неравенства второй степени
Посмотрите здесь:

Составить програму для решения неравенства - C++
вот собственно неравенство x + b |x + a| &gt; c Есть кое какие наработки, но чет не очень получается

Написать код для решения системы тригонометрического неравенства с двумя неизвестными - C++
Написать консольное приложение, в котором пользователь вводит с клавиатуры две переменных - x и y, затем производятся вычисления по...

Написать код для решения системы тригонометрического неравенства с двумя неизвестными - C++
Ссори, что морочу голову повторно, но там была ошипка которую я ещё до этого не заметил (ну бывает) :\ Извините конечно не могли бы ещё...

Рекурсия. Найти решения неравенства (x^2+ y^2 <= n) - C++
Новый учебный год, а задачки старые) Ребят, помогите рекурсивно решить задачку. Классическими - структурными алгоритмами (без излишеств,...

Составить алгоритм решения неравенства ax2+bx+c<0 - C++
Доброго времени суток! Ветвлением нужно. Используя только if и else. Помогите пожалуйста! С/С++ Без использования while и функций...

Аппроксимация полиномом второй степени, используя МНК - C++
Здравствуйте. В университете прохожу курс чисельных методов и в одной из лабораторных поставлена такая задача: Аппроксимировать табличные...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 15:15     Вывод интервалов для решения неравенства второй степени #2
У вас есть два корня. Тогда в зависимости от знака коэффицента a и знака неравенства, будут либо подходить интервалы (-∞; x_2) и (x_1; +∞), либо (x_2; x_1)
Andrey26rus
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 112
07.06.2014, 16:44  [ТС]     Вывод интервалов для решения неравенства второй степени #3
В коде как это записать? Чтобы проверялся знак неравенства, коэффициент a
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 16:51     Вывод интервалов для решения неравенства второй степени #4
Если a > 0 и знак неравенства > 0, либо a < 0 и знак неравенства < 0, то ответ такой: (-∞; x_2) и (x_1; +∞)
Иначе (x_2; x_1)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 20:24     Вывод интервалов для решения неравенства второй степени
Еще ссылки по теме:

Вывод степени - C++
Как можно вывести степень на экран? У меня задание: Дано а. За четыре операции получить а^10 &quot;^&quot; - Возведение в степень

Задача на вывод целочисленного массива размера N,содержащей степени двойки от первой до N - C++
Дано целое число N(N&gt;0).Сформировать и вывести целочисленный массив размера N,содержащей степени двойки от первой до N-й:2,4,8,16.... ...

Вывести массив в виде таблицы. Вычислить произведение тех элементов, для которых справедливы неравенства - C++
Создать массив с элементами a=n*f(k)+sin(k)*g(n), где k, n=1,2,3,4 f(k)=2*sin(k)*sin(2k−1,5)*cos(2k+1,5)−6 g(n)=|cos(n2)...

Вывод решения из 6-ти чисел - C++
Добрый день! Подскажите пожалуйста: доется 24 элемента (они имеют номера или подругому у каждого есть число), это такие цисла:...

Вывод второй строки из файла c++ - C++
В общем, нужно сделать так, что бы из файла(txt) считывалась и выводилась не первая строка, а ,например, вторая. Не предcтавляю как это...

Ханойские башни, вывод решения по шагам - C++
Помогите мне пожалуйста!У меня есть готовый исходник решения этого алгоритма!Необходимо сделать вывод по шагам( с наглядным изображением...


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

Или воспользуйтесь поиском по форуму:
Andrey26rus
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 112
07.06.2014, 20:24  [ТС]     Вывод интервалов для решения неравенства второй степени #5
Ошибки синтаксические поможете исправить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if(a>0 && VN>0)
{
    m_Otvet=otvet;
    otvet=((-в€ћ; x2) U (x1; +в€ћ));
}
else
{
    m_Otvet=otvet;
    otvet=(x2; x1);
}
m_Text=S;
UpdateData(false);
}
Добавлено через 1 минуту
А код имеет вид:
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
void CNeravenstvovtoroystepeniDlg::OnBnClickedButton1()
{
    // TODO: добавьте свой код обработчика уведомлений
    char S[80];
UpdateData(TRUE);
 
double a=m_A;
double b=m_B;
double c=m_C;
double  x1,x2,d,в€ћ,U,otvet;
CString VN=m_VN;
sprintf(S, "a*x*x+b*x+c");
if (a>0)
{
    sprintf(S, "Ветви параболы направлены вверх");
}
else
{
    sprintf(S, "Ветви параболы направлены вниз");
}
     d=b*b-4*a*c;
if (d<0)
{
    sprintf(S, "Квадратный трехчлен не имеет решений, а парабола не имеет общих точек с осью x");
}
    
else 
    {
    sprintf(S, "Парабола имеет две общие точки с осью x");
    x1=(-b+ sqrt(d))/(2*a);
    x2=(-b- sqrt(d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
 
if (d==0)
{
    sprintf(S, "Парабола имеет одну общую точку с осью x");
    x1=(-b+ sqrt( d))/(2*a);
    x2=(-b- sqrt( d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
if(a>0 && VN>0)
{
    m_Otvet=otvet;
    otvet=((-в€ћ; x2) U (x1; +в€ћ));
}
else
{
    m_Otvet=otvet;
    otvet=(x2; x1);
}
m_Text=S;
UpdateData(false);
}
Добавлено через 2 часа 42 минуты
Не удается вывести ответ в виде интервалов. Подскажете, что в коде не так?
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
void CNeravenstvovtoroystepeniDlg::OnBnClickedButton1()
{
    // TODO: добавьте свой код обработчика уведомлений
    char S[80];
UpdateData(TRUE);
 
double a=m_A;
double b=m_B;
double c=m_C;
double x1,x2,d,otvet,в€ћ;
if (a>0)
{
    sprintf(S, "Ветви параболы направлены вверх");
}
else
{
    sprintf(S, "Ветви параболы направлены вниз");
}
     d=b*b-4*a*c;
if (d<0)
{
    sprintf(S, "Квадратный трехчлен не имеет решений, а парабола не имеет общих точек с осью x");
}
    
else 
    {
    sprintf(S, "Парабола имеет две общие точки с осью x");
    x1=(-b+ sqrt(d))/(2*a);
    x2=(-b- sqrt(d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
 
if (d==0)
{
    sprintf(S, "Парабола имеет одну общую точку с осью x");
    x1=(-b+ sqrt( d))/(2*a);
    x2=(-b- sqrt( d))/(2*a);
    m_X1=x1;   
    m_X2=x2;
}
CString VN=m_VN;
if(a>0 && VN>0)
{
    otvet=((-в€ћ,x2), (x1,+в€ћ));
    m_Otvet=otvet;
}
else
{
    otvet=(x2,x1);
    m_Otvet=otvet;  
}
m_Text=S;
UpdateData(false);
}
Yandex
Объявления
07.06.2014, 20:24     Вывод интервалов для решения неравенства второй степени
Ответ Создать тему
Опции темы

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