Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Асылташева
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 69
#1

Как написать комплексные корни, если дискриминант меньше нуля?

02.04.2014, 18:18. Просмотров 1679. Ответов 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication17
{
    class Program
    {
        static void Main(string[] args)
        {
                    //****Основная программа****//
            Console.BackgroundColor = ConsoleColor.Black;
            Console.ForegroundColor = ConsoleColor.Green;
            int a, b, c;
            double x1, x2, d,i;          
            Console.WriteLine("Введите коэффициент а:");
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите коэффициент в:");
            b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите коэффициент с:");
            c = Convert.ToInt32(Console.ReadLine());
            d = (b * b) - (4 * a * c);
            Console.WriteLine("Дискриминант(D)= " + d);
            Console.Read();
 
            ///////////////////////////если дискриминант d < 0 /////////////////////
            if (d < 0)
            {
                Console.WriteLine("Дискриминант меньше 0");
                x1 = (((-1) * b + Math.Sqrt(Math.Abs(d))) / (2 * a));
                x2 = (((-1) * b -Math.Sqrt(Math.Abs(d))) / (2 * a));
                Console.WriteLine("Ответ:");
                Console.WriteLine("Х1= " + x1);
                Console.WriteLine("Х2= " + x2);
                Console.ReadKey();
            }
            ////////////////////////////если дискриминант d > 0 ////////////////////
            else
            {
                x1 = (((-1) * b + Math.Sqrt(d)) / (2 * a));
                x2 = (((-1) * b - Math.Sqrt(d)) / (2 * a));
 
            ////////////////////////////если дискриминант d = 0 ////////////////////   
                if (x1 == x2)//если x1=x2 (это бывает когда d = 0)
                {
                    Console.WriteLine(a = Convert.ToInt32(Console.ReadLine()));
                    Console.WriteLine("Ответ:");
                    Console.WriteLine("Х=" + x1);
                }
                else
                {
                    Console.WriteLine("Ответ:" );
                    Console.WriteLine("Х1= " + x1);
                    Console.WriteLine("Х2= " + x2);
                }
                Console.WriteLine("Нажмите <Enter> для выхода!");
                Console.ReadKey();
            }    
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 18:18
Ответы с готовыми решениями:

Квадратное уравнение, если дискриминант меньше нуля
Нужно сделать калькулятор для вычесления квадратных уровнений, для всех...

Как написать если число меньше 25 повторите ввод?
Как написать если число меньше 25 повторите ввод?

Как реализовать решение квадратного уравнения, если дискриминант отрицательный?
Здравствуйте! Подскажите, пожалуйста, как реализовать решение квадратного...

Cколько чисел больше нуля, меньше нуля и среднее всех отрицательных чисел
Помогите с кодом Задание: Вводятся N чисел. Программа считает сколько чисел...

Массив: Найти в заданном массиве все числа меньше нуля и посчитать их
Дан случайный массив. Найти все числа меньше нуля и посчитать их

5
tezaurismosis
Администратор
Эксперт .NET
8424 / 3791 / 723
Регистрация: 17.04.2012
Сообщений: 8,482
Записей в блоге: 14
02.04.2014, 18:28 #2
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{-b + \sqrt{-D}}{2a} = \frac{-b}{2a} + \frac{\sqrt{D}}{2a}i

http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{-b - \sqrt{-D}}{2a} = \frac{-b}{2a} - \frac{\sqrt{D}}{2a}i
1
Асылташева
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 69
02.04.2014, 18:31  [ТС] #3
А как "i" туда добавить? Он пишет ошибку, что нельзя преобразовать тип string в double)
0
tezaurismosis
Администратор
Эксперт .NET
8424 / 3791 / 723
Регистрация: 17.04.2012
Сообщений: 8,482
Записей в блоге: 14
02.04.2014, 18:43 #4
C#
1
2
3
4
double real = -b / 2 * a;
double imag = Math.Sqrt(Math.Abs(d)) / 2 * a;
Console.WriteLine("{0}{1}{2}i", real, imag > 0 ? " + " : " - ", Math.Abs(imag));
Console.WriteLine("{0}{1}{2}i", real, imag > 0 ? " - " : " + ", Math.Abs(imag));
1
Асылташева
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 69
02.04.2014, 18:50  [ТС] #5
Спасибо!! И последний вопрос. Как написать, чтобы ответ выводился в консоль в виде
Ax^2 + Bx + C = 0 (A,B,C заменить на введенные значения) ???
0
tezaurismosis
Администратор
Эксперт .NET
8424 / 3791 / 723
Регистрация: 17.04.2012
Сообщений: 8,482
Записей в блоге: 14
02.04.2014, 18:58 #6
C#
1
2
3
4
Console.WriteLine("{0}x^2{1}{2}x{3}{4} = 0",
    a,
    b > 0 ? " + " : " - ", Math.Abs(b),
    c > 0 ? " + " : " - ", Math.Abs(c));
0
02.04.2014, 18:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 18:58

Задача написать как можно меньше кода, чтобы программа скомпилировалась
Напишите как можно меньше кода, чтобы программа скомпилировалась. public...

Передача файлов, ошибка "Длина не может быть меньше нуля"
В свой проект добавил возможность передачи файлов, и после этого у меня выходит...

Решение квадратного уравнения: выбросить исключение, если дискриминант меньше 0
Даны коэффициенты a,b,c уравнения ax2+bx+c=0. Найти решение. Задачу вроде бы...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru