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

Квадратное уравнение

10.10.2015, 14:12. Показов 686. Ответов 11
Метки нет (Все метки)

Есть такое задание: Написать программу, которая найдет корни уравнения квадратного https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}^{2}+bx+c=0 и проверить для данных type real которые равны: а=1е-16; b=10; c=1.
Не могу понять что нужно делать с a=1e-16?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2015, 14:12
Ответы с готовыми решениями:

Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения. Создать...

Квадратное уравнение
Привет всем, застрял, помогите :) Ввести три вещественных числа a, b, c. Решить квадратное...

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

Квадратное уравнение
всем привет!кто нибудь может написать программу решения квадратного уравнения в общем виде с...

11
7066 / 6076 / 2765
Регистрация: 14.04.2014
Сообщений: 26,106
10.10.2015, 14:14 2
Использовать в решении.
0
0 / 0 / 0
Регистрация: 28.06.2015
Сообщений: 26
10.10.2015, 14:27  [ТС] 3
nmcf, Мой код такой
C++
1
2
3
4
5
6
7
8
9
10
float a, b, c, d, x1, x2;
    a = 1e-16;
    b = 10;
    c = 1;
    d = (b*b) - 4 * a * c;
    cout << d << endl; // D=100  
    x1 = ((-b) + sqrt(d)) / 2 * a;
    x2 = ((-b) - sqrt(d)) / 2 * a;
    cout << x1 << endl; // Ответ 0
    cout << x2 << endl; // Ответ -1е-15
Меня смущает дискриминант т.к. b*b =100 так еще нужно отнять (4 * a * c)=число выйдет маленькое.
0
7066 / 6076 / 2765
Регистрация: 14.04.2014
Сообщений: 26,106
10.10.2015, 14:31 4
И что? Пусть будет маленькое. Только используй double. Откуда такое пристрастие к этому древнему float?
0
250 / 126 / 54
Регистрация: 04.05.2013
Сообщений: 346
10.10.2015, 16:07 5
Цитата Сообщение от nmcf Посмотреть сообщение
Откуда такое пристрастие к этому древнему float?

Не по теме:

4 байта же

0
Модератор
Эксперт С++
11333 / 9303 / 5586
Регистрация: 18.12.2011
Сообщений: 24,818
10.10.2015, 16:10 6
HawKKK,
Цитата Сообщение от HawKKK Посмотреть сообщение
x1 = ((-b) + sqrt(d)) / 2 * a;
Почему у Вас a попало в числитель?
C++
1
x1 = (-b + sqrt(d)) /( 2.0 * a);
Приблизительное значение обоих корней должно быть близко к решению при a=0, т.е.
x=-b/c=-10.0/1.0=-10.0
И, естественно, float меняйте на double.
0
Заблокирован
Эксперт C
10.10.2015, 16:15 7
Цитата Сообщение от zss Посмотреть сообщение
Почему у Вас a попало в числитель?
Дык, d = b*b - 4*a*c
А решать надо по-хитрому. В этом случае приблизительная формула оказывается точнее точной
sqrt(1 + x) = 1 + x/2
1
0 / 0 / 0
Регистрация: 28.06.2015
Сообщений: 26
11.10.2015, 11:47  [ТС] 8
Хорошо, но мне не нравится то что дискреминант получается 100, как можно убрать округление что бы вышло 99.9999999999999996?
0
Модератор
Эксперт С++
11333 / 9303 / 5586
Регистрация: 18.12.2011
Сообщений: 24,818
11.10.2015, 11:53 9
возьмите b=9.99999999999999
0
624 / 136 / 57
Регистрация: 08.04.2015
Сообщений: 330
11.10.2015, 11:57 10
Цитата Сообщение от HawKKK Посмотреть сообщение
как можно убрать округление что бы вышло 99.9999999999999996?
В типе double ~15 значащих цифр, он просто не может представлять числа с более высокой точностью.
0
Модератор
Эксперт С++
11333 / 9303 / 5586
Регистрация: 18.12.2011
Сообщений: 24,818
11.10.2015, 12:23 11
Цитата Сообщение от UnknownSoldier Посмотреть сообщение
~15 значащих цифр
Чуть больше: ~17
0
Заблокирован
Эксперт C
11.10.2015, 12:42 12
Почему-то никто не обратил внимания на
Цитата Сообщение от Байт Посмотреть сообщение
sqrt(1 + x) = 1 + x/2
А ведь тут есть зернышко истины...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2015, 12:42

Квадратное уравнение
Хотел написать программу которая решает квадратное уравнение.Выдает две ошибки. #include...

Квадратное уравнение
ax^2+bx+c=o в c\c++

квадратное уравнение
написать функции вычисления квадрат.уравнения

Квадратное уравнение
вопрос такой почему у меня все время ошибки в этом коде (Квадратное уравнение) Пишу в этот раздел...


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

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

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