Форум программистов, компьютерный форум CyberForum.ru

подстановка корней в уравнение и устранение невязки - C++

Восстановить пароль Регистрация
 
dearkato
7 / 7 / 1
Регистрация: 30.10.2011
Сообщений: 71
17.04.2012, 17:15     подстановка корней в уравнение и устранение невязки #1
В программе предусмотрите подстановки найденных корней в заданное квадратное уравнение с выводом возможной невязки. Предусмотрите также меры по уменьшению невязки.

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main(void) {
    float a, b, c;
    float D, x1, x2, x, y1, y2;
    printf("\n\t Equation a*x^2 + b*x + c = 0\n");
    printf("\n\t Enter the coefficient a: ");
    scanf_s("%f", &a);
    printf("\t Enter the coefficient b: ");
    scanf_s("%f", &b);
    printf("\t Enter the coefficient c: ");
    scanf_s("%f", &c);
 
    D = b*b - 4*a*c;
    if (D >= 0 && a != 0) {
    x1 = -b/(2*a) + (float)sqrt(D)/(2*a);
    x2 = -b/(2*a) - (float)sqrt(D)/(2*a);
     printf("\n\t The roots of the equation:\n\t x1 = %1.4f, x2 = %1.4f\n", x1, x2);
    }
    
    if (D < 0){
        D=abs(D)/(2*a);
        x1 = -b/(2*a);
        x2 = -b/(2*a);
    printf("\n\t *The roots of the equation:\n\t x1 = %1.2f + %1.2fi, x2 = %1.2f - %1.2fi\n", x1,D,x2,D);
    }
    if (a == 0 && b != 0) {
    x = -c/b;
    printf("\n\t As a = %1.0f,\n\t the solution of the equation is: %1.4f\n", a, x); }
 
    if (a == 0 && b == 0 && c == 0) 
        printf("\n\t Equation is failed 0 = 0");
 
    y1=a*x1*x1+b*x1+c;                     // этим действием я подставляю корни в наше
    y2=a*x2*x2+b*x2+c;                     // исходное уравнение и вывожу результат подстановки
    if (y1 == 0 && y2 == 0) 
        printf("\n\t It's OK");
    else printf("\n\t Wrong");
 
 
    printf("\n Press any key: ");
    _getch();
    return 0;
}
когда D=0 или D>0 при чем корни целые, то все хорошо, но когда D<0 и корни не целые, то все плохо. Подскажите, что можно сделать с комплексными корнями и как вообще устранить эту невязку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 17:15     подстановка корней в уравнение и устранение невязки
Посмотрите здесь:

C++ Подстановка значения переменной
Устранение повторяющихся символов, чтобы остался только один. C++
Создать программу, которая будет сообщать на экран, сколько корней имеет квадратное уравнение ax²+bx+c=0. C++
C++ Дано уравнение ax2+bx+c=0. Решить уравнение, результат вывести на экран.
C++ Метод простой итерации - путаница в векторе невязки
C++ Устранение ошибок в программе
Подстановка типа\шаблоны с++ C++
C++ Устранение возможной ошибки пользователя при вводе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru