Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Заблокирован
1

Нужно исправить функцию квадратного уравнения

15.04.2012, 20:26. Показов 1149. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот суть задачи: Нужно написать функцию, которая обеспечивает решение квадратного уравнения. Параметрами функции должны быть коэффициенты a b c (входные параметры) а выходные это решение этого уравнения x1 x2 (выходные параметры).Также нужно прописать, что есть ли у корня 2 различных корня и выводит ответы этих корней. Если один корень у этого уравнения то он выведет его, а если нет корней так и пишет, что их нет!
Помогите пожалуйста.

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
public static double Kvadretnoe_Uravnenie( double q,  double w,  double e,  double r1, ref double r2)
        {
            double D = w * w - 4 * q * e;
            if (D > 0)
            {
                r1 = (-w + Math.Sqrt(D)) / (2 * q);
                 return r1;
                r2 = (-w - Math.Sqrt(D)) / (2 * q);
                 return r2;
            }
            if (D < 0)
            {
                Console.WriteLine("Действительных корней нет!");
            }
            if (D == 0)
            {
                r1 = -w / (2 * q);
                return r1;
            }
        }
 
        static void Main()
        {
            double a, b, c;
            Console.Write("Введите число для вычисления факториала = ");
 
             a = Convert.ToInt32(Console.ReadLine());
             b = Convert.ToInt32(Console.ReadLine());
             c = Convert.ToInt32(Console.ReadLine());
 
             double A = Kvadretnoe_Uravnenie(a, b, c);
            Console.WriteLine("Факториал \"{1}\" = {0}",Fact(n), n);
            Console.ReadKey();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2012, 20:26
Ответы с готовыми решениями:

Нахождение корней квадратного уравнения (исправить код)
так чтобы при отрицательном дискриминате программа выводила сообщение &quot;Нет корней. Если дискриминат...

Написать функцию, обеспечивающую решение квадратного уравнения
Написать функцию, обеспечивающую решение квадратного уравнения. Параметрами функции должны быть...

Написать функцию, которая обеспечивает решение квадратного уравнения
public static double Kvadretnoe_Uravnenie( double q, double w, double e, double r1, ref double...

Составить функцию, позволяющую определить позицию первого.Нужно исправить ошибку(програма написана полностью)
При любом значении выбивает ответ: 0. using System; using System.Collections.Generic; using...

4
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
15.04.2012, 23:50 2

Не по теме:

Цитата Сообщение от aleksnice Посмотреть сообщение
а если нет корней так и пишет
Корни есть у любого кв. уравнения.


В вашем коде не разбирался, вот держите мои наработки:
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
        public static Tuple<Complex, Complex> solveSquareEquation(double a, double b, double c)
        {
            double d = b * b - 4.0 * a * c;
            double re = getReSolution(a, b, d);
            if (d > 0.0)
            {
                return Tuple.Create(new Complex(re + getImSolution(a, d), 0.0),
                                    new Complex(re - getImSolution(a, d), 0.0));
            }
            else return Tuple.Create(new Complex(re, +getImSolution(a, d)),
                                     new Complex(re, -getImSolution(a, d)));
        }
 
        public static double getReSolution(double a, double b, double d)
        {
            return (-b) / (2.0 * a);
        }
 
        public static double getImSolution(double a, double d)
        {
            return Math.Sqrt(Math.Abs(d)) / (2.0 * a);
        }
 
        public static string complexToString(Complex c, string format = "")
        {
            if (Math.Abs(c.Imaginary) <= double.Epsilon) return c.Real.ToString(format);
            else return string.Format("({0} {1} {2} * i)",
                                      c.Real.ToString(format),
                                      c.Imaginary < 0.0 ? "-" : "+",
                                      Math.Abs(c.Imaginary).ToString(format));
        }
Пользоваться так:
C#
1
2
3
            var s = solveSquareEquation(5, 20, 4);
            Console.WriteLine("{0}, {1}", complexToString(s.Item1), complexToString(s.Item2));
            Console.ReadKey();
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
16.04.2012, 08:59 3
Зачем еще одну тему, то создали. Уже же есть https://www.cyberforum.ru/csha... 48859.html
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
public static double[] QuadraticEquationSolve(double a, double b, double c)
        {
            if (a==0 && b==0) //вырожденный случай
                return c == 0 ? null : new double[]{};
            if (a==0)         //линейное уравнение
                return new[]{-c / b};
 
            double D = b * b - 4 * a * c;
            if (D > 0)
                return new[]{(-b + Math.Sqrt(D)) / (2 * a), (-b - Math.Sqrt(D)) / (2 * a)}; //два корня в массиве
            if (D < 0)
                return new double[]{};
            return new[] {-b / (2 * a)};
        }
 
        public static void Main()
        {
            Console.WriteLine("Введите коэффициенты для решения квадратного уравнения (a b c) = ");
            double a = Convert.ToInt32(Console.ReadLine());
            double b = Convert.ToInt32(Console.ReadLine());
            double c = Convert.ToInt32(Console.ReadLine());
            double[] solve = QuadraticEquationSolve(a, b, c);
            if (solve == null)
                Console.WriteLine("Уравнение имеет бесконечное множество решений. x - любое");
            else if (solve.Length == 0)
                Console.WriteLine("Действительных корней нет!");
            else
            {
                foreach (double r in solve)
                    Console.WriteLine(r);
            }
        }
0
77 / 77 / 11
Регистрация: 02.12.2011
Сообщений: 296
16.04.2012, 22:07 4
Вот еще один вариант решения. Программа проверяет корректность ввода данных выводит результаиты на консоль и пишет их в файл.
Вложения
Тип файла: rar Quadric equation.rar (14.6 Кб, 13 просмотров)
0
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
17.04.2012, 12:41 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
namespace ConsoleApplication2
{
    public class Class1
    {
 
        public static void Kvadretnoe_Uravnenie(double q, double w, double e)
        {
            double r1,  r2;
            double D = w * w - 4 * q * e;
 
            if (D > 0)
            {
                r1 = (-w + Math.Sqrt(D)) / (2 * q);
                Console.WriteLine("первый корень = "+r1);
                r2 = (-w - Math.Sqrt(D)) / (2 * q);
                Console.WriteLine("второй корень = "+r2);
            }
 
            if (D < 0)
                Console.WriteLine("Действительных корней нет!");
            
            if (D == 0)
            {
                r1 = -w / (2 * q);
                Console.WriteLine("корень = "+r1); 
            }
        }
 
        static void Main()
        {
            double a, b, c;
            Console.Write("введите А: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("введите В: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.Write("введите С: ");
            c = Convert.ToInt32(Console.ReadLine());
 
            Console.WriteLine("Решение --------");
            Kvadretnoe_Uravnenie(a, b, c);
            Console.ReadKey();
        }
}
}
Нужно исправить функцию квадратного уравнения
1
17.04.2012, 12:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2012, 12:41
Помогаю со студенческими работами здесь

Вычисление квадратного уравнения
Вычисление квадратного уравнения: ax2 + bx + c = 0

Решение квадратного уравнения.
Дано квадратное уравнение в виде (то есть пользователь вводит такую строчку) +-aX^2+-bx+-c=h или...

Решение квадратного уравнения
Помогите!!! Очень нужна помощь!!! Нужно разработать класс Квадратное уравнение, т.е. Ax2+bx+c....

Решение квадратного уравнения
Начал изучать c#.Попытался сделать простую программу для вычисления квадратных корней. Всё бы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru