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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2019, 13:00   #1
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию [C#] Вывести количество итераций

Метод половинного деления. Куда ни поставлю i, все равно выходит 1
Код:
class Program
    {
        static void Main(string[] args)
        {
            const double epsilon = 0.01;
            double a, b, x;
            int i=0; 
            a = 1;
            b = 2;
            do
            {
                double c = (a + b) / 2;
                i++;
                if (f(a) * f(c) <= 0)
                    b = c;
                else
                    a = c;
            }
            while (Math.Abs(b - a) < epsilon);
            x = (a + b) / 2;
            Console.Write("Корень уравнения x = ");
                Console.WriteLine(x);
            Console.Write("Количество итераций i = ");
            Console.WriteLine(i);
            Console.ReadKey();
        }

        static double f(double x)
        {
            return (x * x * x * x) - (x * x * x) - (2 * x * x) + (3 * x) - 3;
        }
    }
}
Я нашла ошибку

Последний раз редактировалось plktre; 24.09.2019 в 13:15.
plktre вне форума Ответить с цитированием
Старый 24.09.2019, 13:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от plktre Посмотреть сообщение
Код:
while (Math.Abs(b - a) < epsilon);
Код:
while (Math.Abs(b - a) > epsilon);
?


Цитата:
Сообщение от plktre Посмотреть сообщение
Код:
Console.Write("Корень уравнения x = ");
                Console.WriteLine(x);
            Console.Write("Количество итераций i = ");
            Console.WriteLine(i);
так избыточно.
так проще
Код:
Console.WriteLine("Корень уравнения x = {0}",x);
Console.WriteLine("Количество итераций i = {0}",i);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit. Pyxy Помощь студентам 2 21.03.2012 23:24
максимальное количество итераций цикла For...Next Bape}l{ka Microsoft Office Excel 5 02.03.2012 09:53
Какое количество итераций цикла while выполнит программа? whtfng Помощь студентам 0 23.05.2010 02:04
Доработка программы. Вывести количество итераций vitaly38 Помощь студентам 6 19.05.2010 21:47
Доработка программы. Вывести количество итераций vitaly38 Общие вопросы Delphi 2 19.05.2010 17:17