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

Вычислить x1 (и x2) с помощью дискриминанта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализовать метод ipart()-выделение целой части дроби first/second. метод должен проверять неравенство знаменателя нулю http://www.cyberforum.ru/cpp-beginners/thread762106.html
поле first- целое положительное число, числитель; поле -second-целое положительное число знаменатель.Реализовать метод ipart()-выделение целой части дроби first/second. метод должен проверять неравенство знаменателя нулю
C++ Как запрограммировать функцию со сменным количеством параметров Кто силен в теории, ответьте, пожалуйста: Как запрограммировать функцию со сменным количеством параметров? Как правильно работать с данными внутри функции? http://www.cyberforum.ru/cpp-beginners/thread762090.html
Проблемы с программой ввода вывода и записи файла C++
Для примеров и практики я пишу различные программы. Одна из них это программа для ввода данных и запись их в .txt. Введя такую вот локализацию: #include <locale> .... setlocale(LC_ALL, "RUS"); Консоль в состоянии выводить русский язык а вот при записи в файл он записывает каракули.
C++ Определить площадь равнобедренной трапеции
Определить площадь равнобедренной трапеции,если заданы основание b,высота h иугол при основании b, равный L.
C++ Имеется кольцо с известными радиусами внутреннего и внешнего кругов. Определить окружностей обоих кругов,атакже площадь кольца. http://www.cyberforum.ru/cpp-beginners/thread762083.html
Имеется кольцо с известными радиусами внутреннего и внешнего кругов. Определить окружностей обоих кругов,атакже площадь кольца.
C++ Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) Удалить из матрицы А (7х5) все строки, сумма элементов которых четна, а из матрицы В (6х8) – строки, сумма элементов которых нечетна. подробнее

Показать сообщение отдельно
Юля_программист
 Аватар для Юля_программист
449 / 104 / 14
Регистрация: 04.05.2012
Сообщений: 525
Записей в блоге: 1
15.01.2013, 15:10     Вычислить x1 (и x2) с помощью дискриминанта
Вот так я сделала для комплексных чисел)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(D<0)
    {
        ui->d0->setText("Дискриминант отрицательный, поэтому корнями уравнения являются комплексные числа");
        ui->dis->setNum(D);
         D_1=-1*D;
 
        x1=2*a ;
        x2=(-b-(sqrt(D)*i))/(2*a) ;
 
        QString k1,k2;
        k1="-"+QVariant(b).toString()+"+sqrt("+QVariant(D_1).toString()+")*i/"+QVariant(x1).toString();
        k2="-"+QVariant(b).toString()+"-sqrt("+QVariant(D_1).toString()+")*i/"+QVariant(x1).toString();
        ui->x1_l->setText(k1);
        ui->x2_l->setText(k2);
 
    }
Добавлено через 1 минуту
Цитата Сообщение от СПП Посмотреть сообщение
Вычисления реализовать в отдельной функции.
я думаю имеется ввиду, что надо написать отдельно функцию, и вызвать её в main.

Добавлено через 4 минуты
Попробуй так
C++
1
2
3
4
5
//для дискриминанта
double D(double a,double b,double c)
{
double Deskr = pow(b,2)-4*a*c;
}
тогда вызов такой,правда не уверена, что заработает.
Но если ничего не путаю, то так)
C++
1
double d=D(a,b,c);
Добавлено через 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cstdlib>
#include <clocale>
#include <cmath>
//для дискриминанта
double D(double a,double b,double c)
{
double Deskr = pow(b,2)-4*a*c;
}
 
double x1(double x1)
{
double x1=(-b-sqrt(Deskr))/2;
}
 
double x2(double x2)
{
double x2=(-b+sqrt(Deskr))/2;
}
 
int main(){setlocale(LC_ALL,"Rus");
    double a,b,c;
    std::cout << "Введите переменную 'a': ";std::cin >> a;
    std::cout << "\nВведите переменную 'b': ";std::cin >> b;
    std::cout << "\nВведите переменную 'c': ";std::cin >> c;std::cout << "\n";
 
    double d=D(a,b,c);
    if(Deskr>0){
        double x1,x2;
        x1=x1(x1);
        x2=x2(x2);
        std::cout << "x1:" <<x1 << "   " << "x2:" << x2 << "\n";
    }else if(Deskr=0){
        double x1,x2;
        x1=-b/2;
        x2=0;
        std::cout << "x1:" <<x1 << "   " << "x2:" << x2 << "\n";
    }else{
        std::cout << "Дескриминант < 0, Нет решения\n";
    }
 
system("pause");
return 0;
}
Наверное как то так)
 
Текущее время: 07:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru