Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 19:40   #1
NohnaimeR
 
Регистрация: 04.05.2011
Сообщений: 5
По умолчанию решение полиномиальных уравнений.

Люди добрые помогите!))
В общем задали задачу на C# решить но додумать ее не могу(((

нужно решить полиномиальное уравнение на заданном промежутке и с заданной точностью, максимальную степень вводим сами, коэффициенты тоже...(методом Ньютона или Дихотомии(вот это вообще первый раз слышу...))

вот нашел код для решение квадратного ур-я методом Ньютона:
Код:
using System;
 
class Program
{
    static void Main(string[] args)
    {
        double a, b, c, x, xn;
        x = 1;
        Console.Write("a = ");
        a = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("a = {0}", a);
        Console.Write("b = ");
        b = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("b = {0}", b);
        Console.Write("c = ");
        c = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("c = {0}", c);
 
        double x1, x2, discr;
        Console.Write("x1 = ");
        x1 = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("x1 = {0}", x1);
        Console.Write("x2 = ");
        x2 = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("x2 = {0}", x2);
        discr = b * b - 4 * a * c;
 
        if (discr < 0)
        {
            Console.WriteLine("Корней нет - дискриминант отрицательный");
        }
        else
        {
            Console.WriteLine("Корнень равен = {0}", ((-b + Math.Sqrt(discr))/(2*a)));
            Console.WriteLine("Корнень равен = {0}", ((-b - Math.Sqrt(discr)) / (2*a)));
        }
 
        if ((a * x1 * x1 + b * x1 + c) * (2 * a) > 0)
            x = x1;
        else x = x2;
        do
        {
            xn = x;
            Console.WriteLine("XN = {0:#.###}", xn);
            x = x - ((a * x * x + b * x + c) / (2 * a * x + b));
            Console.WriteLine("X = {0:#.###}", x);
        }
        while (Math.Abs(x - xn) > 0.00001);
 
        Console.WriteLine("X = {0:#.###}", x);
        Console.ReadLine();
    }
}
Можно ли как-нибудь переделать его??
NohnaimeR вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение уравнений в Mathcad. загадочная Помощь студентам 12 07.05.2011 20:45
Решение дифференц. уравнений на Си Rayzor Помощь студентам 0 07.05.2011 14:19
Решение уравнений за $ djendalf Фриланс 0 25.12.2010 18:06
Решение уравнений Guzal Помощь студентам 2 29.09.2010 10:21
Решение уравнений delete Общие вопросы C/C++ 0 01.10.2009 23:06