Головна » Статті » С++ » Приклади програм

Розв'язання квадратного рівняння і статичні елементи
#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;

class equation //клас "рівняння"
{
    public:
        static void ans(float aa, float bb, float cc)//наша статична функція
        {
            static float a, b, c, D2;//статичні змінні, які получаємо ззовні
            a=aa; b=bb; c=cc;
            if(a!=0)//перевіряємо чи рівняння дійсно квадратне
            {
                D2=b*b-4*a*c;//шукаємо квадрат дискримінанта D2
                if(D2>0)//коли квадрат дискримінанта більший від нуля
                { 
                    cout << "x1=" << (-b-sqrt(D2))/(2*a) << endl << "x2=" << (-b+sqrt(D2))/(2*a) << endl;
                }
                else if(D2==0)//коли дискримінант рівний нулю
                {
                    cout << "x=" << -b/(2*a) << endl;
                }
                else//коли квадрат дискримінанта мінший нуля (результати - комплексні числа)
                {
                    cout << -b/(2*a) << "+(" << sqrt(-D2)/(2*a) << ")i" << endl;
                    cout << -b/(2*a) << "-(" << sqrt(-D2)/(2*a) << ")i" << endl;
                }
            }
            else cout << "It's linear equation!!!" << endl;
        }
};

int main()
{
    float a, b, c;
    cin >> a >> b >> c;//вводимо коефіцієнти рівняння
    equation::ans(a, b, c);//визиваємо статичну функцію
    
    system("pause");
}
 
Категорія: Приклади програм | Додав: Lord_Adwond (11-04-2018) | Автор: Lord_Adwond
Переглядів: 183 | Теги: статичні функції, c++, класи | Рейтинг: 5.0/1
Всього коментарів: 0
avatar