Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 29.01.2016
Сообщений: 19
1

Программа для решения системы двух линейных уравнений

29.06.2016, 17:04. Показов 8641. Ответов 6
Метки нет (Все метки)

Помогите, пожалуйста, решить задачу.

Составьте программу для решения системы двух линейных уравнений:

{ax+by=c
{dx+ey=f

в программе c#
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2016, 17:04
Ответы с готовыми решениями:

Написать программу решения системы линейных уравнений
Написать программу решения системы линейных уравнений A1X+B1Y+С1=0 A2X+B2Y+С2=0 Помогите кому...

Алгоритм численного решения системы из 2-х линейных уравнений методом Гаусса. Система представлена в виде матрицы 2х3.
Кто может, напишите хотя бы один алгоритм, пожалуйста. Алгоритм численного решения системы из...

Составить подпрограмму решения системы двух линейных алгебраических уравнений по правилу Крамера
Всем привет. Есть задание. Работа с Функциями. Составить подпрограмму решения системы двух...

Страница для решения системы линейных уравнений
Доброго времени суток. Я пишу web-приложение в netbeans для решения системы линейных...

6
599 / 356 / 198
Регистрация: 02.06.2016
Сообщений: 601
29.06.2016, 18:08 2
Lyusi, нужны все случаи? и когда система имеет много решений?

Добавлено через 8 минут
Кликните здесь для просмотра всего текста
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
class Program
{
    static void Main()
    {
        double a = 0, b = 0, c = 0;
        double d = 2, e = 2, f = 4;
 
        Console.WriteLine("Система: ");
        Console.WriteLine("{0:F2} * x {3} {1:F2} * y = {2:F2}", a, b, c, b < 0 ? '-' : '+');
        Console.WriteLine("{0:F2} * x {3} {1:F2} * y = {2:F2}", d, e, f, e < 0 ? '-' : '+');
        Console.WriteLine("Решение: ");
        Console.WriteLine(Solve(new double[,]
            {
                { a, b, c },
                { d, e, f }
            }));
        Console.ReadKey();
    }
 
    static string Solve(double[,] M)
    {
        if (M.GetLength(0) != 2 || M.GetLength(1) != 3)
            throw new ArgumentException("Расширенная матрица системы должна иметь размерность 2*3");
 
        double D0 = M[0, 0] * M[1, 1] - M[0, 1] * M[1, 0];
        double D1 = M[0, 0] * M[1, 2] - M[0, 2] * M[1, 0];
        double D2 = M[0, 2] * M[1, 1] - M[0, 1] * M[1, 2];
 
        if (Math.Abs(D0) < double.Epsilon )
        {
            if (Math.Abs(D1) < double.Epsilon && Math.Abs(D2) < double.Epsilon)
            {
                string solve = "x = x, y = y";
                bool t = 
                    Test(M[0, 0], M[0, 1], M[0, 2], "x", "y", ref solve) ||
                    Test(M[1, 0], M[1, 1], M[1, 2], "x", "y", ref solve) ||
                    Test(M[0, 1], M[0, 0], M[0, 2], "y", "x", ref solve) ||
                    Test(M[1, 1], M[1, 0], M[1, 2], "y", "x", ref solve);
 
                return solve;
            }
            else
            {
                return "Решений не существует";
            }
        }
 
        return String.Format("x = {0:F2}, y = {0:F2}", D1 / D0, D2 / D0);
    }
 
    static bool Test(double a, double b, double c, string VarX, string VarY, ref string Solve)
    {
        if (Math.Abs(a) > 0)
        {
            Solve = String.Format("{0} = {2:F2} {4} {3:F2} * {1}, {1} = {1}", 
                VarX, VarY, c / a, Math.Abs(b / a), - b / a < 0 ? '-' : '+');
 
            return true;
        }
 
        return false;
    }
}
0
0 / 0 / 0
Регистрация: 29.01.2016
Сообщений: 19
29.06.2016, 18:27  [ТС] 3
c двумя неизвестными 𝑥, 𝑦. Значения неизвестных находятся по формулам
∆=𝑎𝑒−𝑏𝑑, 𝑥=𝑐𝑒−𝑏𝑓/∆, 𝑦=𝑎𝑓−𝑐𝑑/∆.
0
599 / 356 / 198
Регистрация: 02.06.2016
Сообщений: 601
29.06.2016, 18:45 4
Lyusi, ты скобки забыл. Но в моем коде по этой формуле считается. смотри строку 48
0
0 / 0 / 0
Регистрация: 29.01.2016
Сообщений: 19
29.06.2016, 18:53  [ТС] 5
в задании нет скобок.
0
599 / 356 / 198
Регистрация: 02.06.2016
Сообщений: 601
29.06.2016, 19:09 6
Лучший ответ Сообщение было отмечено Даценд как решение

Решение

Lyusi,
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
class Program
{
    static void Main()
    {
        double a = Read("a");
        double b = Read("b");
        double c = Read("c");
        double d = Read("d");
        double e = Read("e");
        double f = Read("f");
 
        // Формулы
        double Delta = a * e - b * d;
        double x = c * e - b * f / Delta;
        double y = a * f - c * d / Delta;
 
        Console.WriteLine("D = " + Delta);
        Console.WriteLine("x = " + x);
        Console.WriteLine("y = " + y);
        Console.ReadKey();
    }
 
    static double Read(string Name)
    {
        Console.Write(Name + " = ");
        return double.Parse(Console.ReadLine());
    }
}
0
0 / 0 / 0
Регистрация: 29.01.2016
Сообщений: 19
29.06.2016, 19:15  [ТС] 7
Спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2016, 19:15

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Написать программу решения системы двух линейных уравнений с двумя неизвестными и вывода его корней на экран.
Написать программу решения системы двух линейных уравнений с двумя неизвестными и вывода его корней...

Составьте программу для решения системы линейных уравнений
Не могу сделать прогу в поскали кто сделает огромное спасибо Составьте программу для решения...

Метод простой итерации для решения системы линейных уравнений
Здравствуйте. Помогите пожалуйста разобраться в методе простых итераций решения системы нелинейных...

[Ada] Метод Якоби для решения системы линейных уравнений
Помогите, кто может, написать код на языке ADA на одну из трех тем: 1) Кусочно-линейный интеграл...

Метод простых итераций для решения системы линейных уравнений
помогите найти ошибку в алгоритме при вводе уравнения x+y = 2 2x-y = 7 x = 2-y; y =...

Составить процедуру для решения системы линейных уравнений с нижней треугольной матрицой
Составить процедуру для решения системы линейных уравнений с нижней треугольной матрицой ...


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

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

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