Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- template <typename T>
- void solveLinearEquation(T a, T b) {
- if (a == 0) {
- if (b == 0) {
- std::cout << "Уравнение имеет бесконечное множество решений." << std::endl;
- } else {
- std::cout << "Уравнение не имеет решений." << std::endl;
- }
- } else {
- T x = -b / a;
- std::cout << "Корень линейного уравнения: x = " << x << std::endl;
- }
- }
- template <typename T>
- void solveQuadraticEquation(T a, T b, T c) {
- if (a == 0) {
- solveLinearEquation(b, c);
- } else {
- T discriminant = b * b - 4 * a * c;
- if (discriminant > 0) {
- T x1 = (-b + std::sqrt(discriminant)) / (2 * a);
- T x2 = (-b - std::sqrt(discriminant)) / (2 * a);
- std::cout << "Корни квадратного уравнения: x1 = " << x1 << ", x2 = " << x2 << std::endl;
- } else if (discriminant == 0) {
- T x = -b / (2 * a);
- std::cout << "У квадратного уравнения есть один корень: x = " << x << std::endl;
- } else {
- std::cout << "Квадратное уравнение не имеет действительных корней." << std::endl;
- }
- }
- }
- int main() {
- // Пример использования функции для линейного уравнения
- double linearA = 2.5;
- double linearB = -7.5;
- solveLinearEquation(linearA, linearB);
- // Пример использования функции для квадратного уравнения
- double quadraticA = 1.0;
- double quadraticB = -3.0;
- double quadraticC = 2.0;
- solveQuadraticEquation(quadraticA, quadraticB, quadraticC);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement