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

"Первый после Hello, world!". Программа решения квадратного уравнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы наследники http://www.cyberforum.ru/cpp-beginners/thread642032.html
Всем привет, прошу помочь разобраться с ошибкой: 1>e:\my programs for c++\lesson 9 numb 9\lesson 9 numb 9\main.cpp(59) : error C2661: publication2::publication2: нет перегруженной функции, принимающей 3 аргументов 1>e:\my programs for c++\lesson 9 numb 9\lesson 9 numb 9\main.cpp(79) : error C2661: publication2::publication2: нет перегруженной функции, принимающей 3 аргументов вот код С++...
C++ Приведение LPVOID к классу "непостоянной" величины В поток посылаю экземпляр класс : userThread = CreateThread(NULL, NULL, ConnectionShell, (LPVOID)(&userCurrent), NULL, NULL); Где пытаюсь излвечь экземпляр : DWORD CALLBACK ConnectionShell(LPVOID lParam) { USER* userCurrent = new USER; memcpy(userCurrent, lParam, 44); // 44 - размер экземпляра после вызова стандартного\ конструктора userCurrent->Connection(); // Здесь так же побывали... http://www.cyberforum.ru/cpp-beginners/thread642016.html
В чём разница между total = total + trans и total += trans? C++
Добрый день. Изучаю четвертое издание Липпмана. Автор задает вопрос: "В программе книжного магазина, при суммировании объектов trans и total, использован обычный оператор плюс, а не составной оператор суммы с присвоением. Почему не использован составной оператор?". Насколько мне известно а += b идентично a = a + b. Единственные догадки по этому поводу в том, что составной оператор суммы не...
Найти количество вхождений одного списка в другой C++
Здравствуйте. Помогите, пожалуйста, разобраться: у меня была задача - алгоритмом Рабина-Карпа (то есть посредством выискивания хеш-значений) найти количество вхождений одного списка в другой. Но нахождения одних лишь хеш-значений оказалось мало. Дело в том, что я считал хеш-значения как сумму элементов списка и получалось что списки 5, 4, 3, 2, 1 и 1, 2, 3, 4, 5 - суть, одно и то же. В связи с...
C++ Функциий system http://www.cyberforum.ru/cpp-beginners/thread641992.html
Доброго времени суток. Прошу Вас помочь мне решить одну проблему: Мне требуется создать 50 папок с именами от 1 до 50 включительно. Вот мой код:#include <stdlib.h> #include <conio.h> using namespace std; int main() { system("color A"); for (int i=1; i<=50; i++) {
C++ Двумерный динамический массив, что и с чем есть? собственно как сделать Двумерный динамический массив. и как можно проверить его работу? подробнее

Показать сообщение отдельно
Gibboustooth
733 / 201 / 11
Регистрация: 23.06.2011
Сообщений: 440

"Первый после Hello, world!". Программа решения квадратного уравнения - C++

24.08.2012, 15:45. Просмотров 889. Ответов 8
Метки (Все метки)

Добрый день, уважаемые форумчане. Покритикуйте пожалуйста, программу вывода на экран в полиномиальной форме и нахождения корней квадратного уравнения.
Особые проблемы, собственно, возникли с первой частью - над тем, как вывести на экран полином, отвечающий при любых введенных коэффициентах всем правилам математики, пришлось немало поломать голову.
Результаты таковы:
class poly_part
C++ (Qt)
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
class poly_part 
//class represents part of polynom
{
public:
    double value;
    string postfix;
    char sign;
    poly_part()
        :value(0),sign(' '),postfix("") { }
    poly_part(double val)   
        :value(abs(val)),postfix("") 
        {
            if (val==0)
                sign=' ';
            else if (val>0)
                sign='+';
            else
                sign='-';
        }       
    poly_part(double val, string pf)
        :value(abs(val))
        {
            if (val==0) {
                postfix="";
                sign=' ';
            }
            else {
                postfix=pf;
                if (val>0) 
                    sign='+';
                else
                    sign='-';
            }
        }   
};

string create_poly(vector<poly_part> parts)
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string create_poly(vector<poly_part> parts) 
//build polynom from it's parts
{
    string pl;
    
    bool first=true;
    for (unsigned int i=0;i<parts.size();++i) {
        if (parts[i].value!=0) {
            if (parts[i].sign!='+'||!first) 
                pl+=parts[i].sign;
 
            if (first) 
                first=false;
 
            if (parts[i].value==1&&parts[i].postfix!="")
                pl+=parts[i].postfix;
            else
                pl+=to_string(parts[i].value)+parts[i].postfix;
        }
    }
    return pl;
}

double disc(double a, double b, double c)
C++ (Qt)
1
2
3
4
5
double disc(double a, double b, double c)
//calculates discriminant
{
    return b*b-4*a*c;
}

int main ()
C++ (Qt)
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
int main () 
//get square equation factors and find roots
{
    double a=0;
    double b=0;
    double c=0;
 
 
    string eq;
    cout<<"Please enter coeffitients a, b, c of square equation\n";
    cin>>a>>b>>c;
 
    vector<poly_part> poly_parts(3);
    poly_parts[0]=poly_part(a,"x^2");
    poly_parts[1]=poly_part(b,"x");
    poly_parts[2]=poly_part(c);
 
    eq=create_poly(poly_parts)+"=0";
 
    if (a==0)
    {
        if (b==0)
        {
            if(c==0)
                cout<<" 0==0\n";
            else
                cout<<" "<<c<<"!=0\n";
        }
        else
            cout<<" Equation "<<eq<<" root:\n"
            <<"x="<<-b/c;
    }
    else
    {
        double d=disc(a,b,c);
        if (d<0)
            cout<<" Equation "<<eq<<" has no real roots\n";
        else if (d==0)
            cout<<" Equation "<<eq<<" roots:\nx1=x2="<<(-b)/(2*a)<<endl;
        else 
            cout<<" Equation "<<eq<<" roots:\n"
                <<" x1="<<(-b-sqrt(d))/(2*a)<<endl
                <<" x2="<<(-b+sqrt(d))/(2*a)<<endl;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru