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

Ошибка в листинге. Выдает x - не число

10.05.2021, 22:09. Показов 1096. Ответов 2

Author24 — интернет-сервис помощи студентам
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
class Program
    {
        static void Main(string[] args)
        {
            double eps = 0.000005, x = 10;
            Console.WriteLine("x= " + Newton(x, eps));
            Console.ReadLine();
        }
 
        static double Newton(double x, double eps)
        {
            double y = x;
            x = x - func(x) / derivative_func(x);
 
            if (Math.Abs(y - x) >= eps)
                return Newton(x, eps);
            else
                return x;
        }
 
 
 
        static double func(double x)
        {
            return x + 1.2 * Math.Log10(x) - 0.5;
        }
 
 
        static double derivative_func(double x)
        {
            return (func(x + 0.000005) - func(x)) / 0.000005;
        }
 
 
    }
выдает x - не число, помогите найти ошибку, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2021, 22:09
Ответы с готовыми решениями:

Ошибка в листинге
скажите в чем ошибка в данном листинге Program p1; uses pwt; var a,b,c,d:longint; begin...

Ошибка в листинге
namespace МетодПростыхИтераций { class Program { static void...

Ошибка в листинге
class Program

Ошибка в листинге! (строки)
вот есть листинг(в строке мы удваиваем ко-во пробелов в строке и удаляем все пробелы перед первым...

2
152 / 100 / 40
Регистрация: 14.10.2016
Сообщений: 379
10.05.2021, 22:45 2
Лучший ответ Сообщение было отмечено DemonCat как решение

Решение

Поправил.
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
    class Program
    {
        static void Main(string[] args)
        {
            double eps = 0.000005, x = 10.0;
            Console.WriteLine("x= " + Newton(x, eps));
            Console.ReadLine();
        }
 
        static double Newton(double x, double eps)
        {
            double y = x;
            y -= func(x) / derivative_func(x);
 
            if (Math.Abs(x - y) >= eps)
                return Newton(y, eps);
            else
                return x;
        }
 
        static double func(double x)
        {
            return x + 1.2 * Math.Log10(x) - 0.5;
        }
 
        static double derivative_func(double x)
        {
            return (func(x + 0.000005) - func(x)) / 0.000005;
        }
 
    }
Добавлено через 5 минут
Также рекомендую задать число 0.000005 приватной константой класса Program и использовать константу в формулах.
При необходимости изменить значение - нужно будет поменять его лишь в одном месте.

Добавлено через 38 секунд
И прочие константы желательно тоже.
1
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 8
10.05.2021, 22:46  [ТС] 3
Спасибо, заработала
0
10.05.2021, 22:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2021, 22:46
Помогаю со студенческими работами здесь

Ошибка в листинге в книге
Читаю книгу Стивена Праты С++. Сперва было норм, но потом переводчик забухал. Нашел кучу ляпов, но...

Автоматически заменить число, которое часто встречается в листинге
Здравствуйте. Как в Qt сделать следующее: есть у меня по всему листингу число 0.8 и я его хочу...

Ошибка в листинге при проведении
Документ Приходная накладная, при выборе набора свойств и проведении лезет ошибка "поле объекта не...

Ошибка в листинге. Преобразования векторов
Помогите, пожалуйста, найти и исправить ошибки. Программа преобразования вектора. namespace...

Ребят, в листинге в чем ошибка? циклы
Задание : f(x)=\frac{x}{2}-\frac{2}{3}{x}^{2}+\frac{3}{4}{x}^{3}-\frac{4}{5}{x}^{4}+...,...

Ошибка при листинге "is not a member"
При листинге выдает ошибки..в классе они вроде описаны..что тут не так..подскажите, пожалуйста ...


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

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

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