0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 55
1

Найдите корни заданного уравнения

03.02.2015, 17:23. Показов 1440. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка, которое содержит квадратное уравнение, состоящая из цифр, символа умножения '*', символа 'x' неизвестной, символов '+', '-', '='. Найдите корни данного уравнения.
Не правильно считает дискриминант и корни. Не могу разобраться

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
63
64
65
static void Main(string[] args)
        {
            Console.WriteLine("Vvedite uravnenie:");
            string primer = Console.ReadLine();
            string a=null;
            string b=null;
            string c=null;
            int a1 = 0;
            int b1 = 0;
            int c1 = 0;
            double d = 0;
            int ia=0;
            int ib = 0;
            for (int i=0;i<primer.Length;i++)
            {
                if ((primer[i]=='x')&&(primer[i+1]=='^')&&(primer[i+2]=='2'))
                {
                    for (int j = 0; j < i;j++)
                    {
                        a = a + primer[j];
                    }
                    ia = i + 3;
                    a1 = Convert.ToInt32(a);
                }
                else if ((primer[i] == 'x')&(ia!=0))
                {
                    for (int j = ia; j < i; j++)
                    {
                        b = b + primer[j];
                    }
                    ib = i + 1;
                    b1 = Convert.ToInt32(b);
                }
                else if (primer[i+1]=='=')
                {
                    for (int j = ib; j < i+1;j++ )
                    {
                        c = c + primer[j];
                    }
                    break;
                }
 
            }
            c1 = Convert.ToInt32(c);
            d = (Math.Pow(b1, 2) - (4 * a1 * c1));
            Console.WriteLine("Diskriminant = {0}", d);
            if (d>0)
            {
                double x1 = (b1 * (-1) + Math.Sqrt(d)) / 2 * a1;
                double x2 = (b1 * (-1) - Math.Sqrt(d)) / 2 * a1;
                Console.WriteLine("x1 = {0},x2 = {1}", x1, x2);
            }
            else if (d==0)
            {
                double x1=(b1/(2*a1))*(-1);
                Console.WriteLine("x1 = x2 = {0}", x1);
            }
            else if (d<0)
            {
                Console.WriteLine("Uravnenie ne imeet deistvitelnih kornei");
            }
            Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2015, 17:23
Ответы с готовыми решениями:

Корни уравнения 5-й степени
Нужно решить уравнение 5-ой степени с использованием метода итераций. Как вывести на экран все 5...

Найти корни уравнения
Здравствуйте, форумчане. Возникла проблема при решении уравнения, а, именно, нужно, чтобы Y...

Найти корни уравнения
Здравствуйте, форумчане. Пытаюсь отсеить корни в следующем задании: sin(x) = 2006 * x. ...

Посчитать корни уравнения 4-ой степени
Короче я в си# ваще ноль нужно посчитать все корни уравнения 4-ой степени типа ax^4+bx^3+cx^2+dx+t=0

4
26 / 26 / 9
Регистрация: 22.09.2012
Сообщений: 116
03.02.2015, 22:39 2
Не проще просить ввода каждого коэффициента отдельно?
Если нужно именно разобрать строку с уравнением, тогда используйте регулярные выражения
0
91 / 91 / 44
Регистрация: 20.04.2008
Сообщений: 331
04.02.2015, 09:45 3
Как вытащить коэффициенты, используя регулярки?
0
26 / 26 / 9
Регистрация: 22.09.2012
Сообщений: 116
04.02.2015, 11:23 4
Решение квадратного уравнения.

Добавлено через 6 минут
Цитата Сообщение от krych Посмотреть сообщение
C#
1
double x1 = (b1 * (-1) + Math.Sqrt(d)) / 2 * a1;
и здесь сначала происходит деление на 2, и только после умножение на a1
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
04.02.2015, 11:45 5
off,
C#
1
2
3
4
5
6
7
8
9
string s = "3x^2-4x+3=0";
            string pattern = @"-?\d+";
 
            var m = Regex.Matches(s, pattern);
 
            foreach (var q in m)
            {
                Console.WriteLine(q);
            }
1
04.02.2015, 11:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2015, 11:45
Помогаю со студенческими работами здесь

Найти корни квадратного уравнения
Помогите с решением вопросов для экзамена. Спасибо! Дано квадратное уравнение ax^2+bx+c=0, где...

Вычислить корни квадратного уравнения
Помогите пожалуйста с написанием кода. 1.Вычислить корни квадратного уравнения ax2 + bx + с = 0 с...

Найти корни квадратного уравнения
помогите пожалуйста, ax^2+bx+c =0 нужно найти x1 и x2. искал на форуме, нигде не нашел нужного мне...

Вычислить корни квадратного уравнения
Вычислить корни квадр-о уравнения ax(квадрат)+bx+c=0 , заданного коэфициентами a,b,c Помогите...


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

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

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