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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
"Ламер"-программер:)
5 / 5 / 0
Регистрация: 17.04.2009
Сообщений: 69
#1

Решение квадратного уравнения - C++

03.05.2009, 00:41. Просмотров 1416. Ответов 7
Метки нет (Все метки)

Доброго времени суток, форумчане! Не могу разобраться, что у меня не так, если не сложно отзовитесь =)
Задача простая по сути: "Найти корни квадратного уравнения. Используя условный оператор if - else. В зависимости от значений коэффициентов получать то или иное решение. Программа должна вычислять как комплексные так и действительные числа."
В общем то сложность заключается в работе конца программы, где я уже использую дискриминант. Почему то не выводит ответ, при дискриминанте меньше нуля. Код прилагается.
Да, я в программировании новичок, тапками не кидаться =)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
void main ()
{
    int  j;
    float a, b, c, d, x, x3, x4;
    double x1, i, x2;
 
    printf ("Bac npuBeTcTBueT nporpaMMa peweHu9 kBadpaTHoro ypaBHeHu9!\n");
    printf ("BBeduTe 3Ha4eHue kooqpuLLueHToB a, b, c!\n");
    j=1;
    i=-sqrt(1);
 
    while (j==1)
    {
        printf ("a=");
        scanf ("%f", &a);
        printf ("b=");
        scanf ("%f", &b);
        printf ("c=");
        scanf ("%f", &c);
 
        if (a==0)
        {
            x=-c/b;
            printf ("PeweHue ypaBHeHu9: x=%f\n", x);
        }
        else if (b==0)
        {
            x1=-sqrt(c/a);
            x2=sqrt(c/a);
            printf ("PeweHue ypaBHeHu9: x1=%d, x2=%d\n", x1, x2);
        }
        else if (c==0)
        {
            x3=0;
            x4=-b/a;
            printf ("PeweHue ypaBHeHu9: x1=%d, x2=%d\n", x3, x4);
        }
        else if (a!=0 && b!=0 && c!=0)
        {
            d=b*b-4*a*c;
            if (d>0)
            {
                x1=(-b+sqrt(d))/2*a;
                x2=(-b-sqrt(d))/2*a;
                printf ("kopHu ypaBHeHu9: x1=%d, x2=%d\n", x1, x2);
            }
            else if (d=0)
            {
                x=-b/2*a;
                printf ("peweHue ypaBHeHu9: x=%f\n", x);
            }
            else if (d<0)
            {
                d=-d;
                x1=(-b+sqrt(d)*i)/2*a;
                x2=(-b-sqrt(d)*i)/2*a;
                printf ("kopHu ypaBHeHu9: x1=%d, x2=%d\n", x1, x2);
            }
        }
        printf ("XoTuTe pewuTb eLLLe ypaBHeHue? da - HajMuTe 1, HeT - HajMuTe JlIO6yIO dpyryIO\n");
        scanf ("%i", &j);
    }
    getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2009, 00:41     Решение квадратного уравнения
Посмотрите здесь:

Решение квадратного уравнения - C++
Здравствуйте. Тут такое дело, что дали написать программку с использованием классов решения квадратного уравнения, и вот вроде бы сделали,...

Решение квадратного уравнения - C++
Нужно сделать программу для решения уровнения Оно имеет вид a*x^2+b*x+c&gt;0 ---------------------- #include &lt;vcl.h&gt; #include...

Решение квадратного уравнения - C++
Ребят, нужен пример квадратного уравнения с условиями: 1.&quot;Некорректный ввод данных 2.Уравнение имеет бесконечное множество корней ...

Решение квадратного уравнения - C++
ax2+bx+c=0 решение зависит от значения дискриминанта D=b2-4ac :  D &gt; 0, 2 разных корня;  D = 0, 1 корень;  D &lt;0, реальных...

Решение квадратного уравнения - C++
Написать программу решение квадратного уравнения. Программа должно проверять правельность исходных данных и в случае, если коэффициент при...

Решение квадратного уравнения - C++
Вообщем задание. Написать программу для решения квадратного уравнения, где инкапсулированный метод вычисления х1 и х2... Я вот написал...

Решение квадратного уравнения - C++
Сделал программу для решения квадратного уравнения, вроде все правильно, а ответ выдает не верный, в чем дело не понимаю. #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
03.05.2009, 00:56     Решение квадратного уравнения #2
Цитата Сообщение от Ламер-программер:( Посмотреть сообщение
else if (d=0)
сравнение на равенство происходит двойным равно.. а то у тебя присваевание происходит, и естевтсвенно, не будет выполнятся условие d<0
C++
1
else if (d==0)
"Ламер"-программер:)
5 / 5 / 0
Регистрация: 17.04.2009
Сообщений: 69
03.05.2009, 01:45  [ТС]     Решение квадратного уравнения #3

стыдно то как, такое, да ещё и постить... Monte-Cristo, благодарю что зашли и посмотрели на столь глупую ошибку
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 01:48     Решение квадратного уравнения #4
Код
printf ("PeweHue ypaBHeHu9: x1=%d, x2=%d\n", x1, x2);
%d - спецификатор для целочисленного типа, а у тебя какого типа x'ы?
"Ламер"-программер:)
5 / 5 / 0
Регистрация: 17.04.2009
Сообщений: 69
03.05.2009, 01:52  [ТС]     Решение квадратного уравнения #5
Gravity, double тогда как?
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 01:57     Решение квадратного уравнения #6
Ламер-программер:(, %f для float и %lf для double.
"Ламер"-программер:)
5 / 5 / 0
Регистрация: 17.04.2009
Сообщений: 69
03.05.2009, 02:01  [ТС]     Решение квадратного уравнения #7
Gravity, спасибо большое!
Спасибо вам что не прошли мимо глупой темы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2009, 02:39     Решение квадратного уравнения
Еще ссылки по теме:

Решение квадратного уравнения - C++
Всем доброго время суток. Написать программу для решения квадратного уравнения общего вида a*{x}^{2}+ b*x + c = 0. Параметры a, b и c...

решение квадратного уравнения С++ - C++
Добрый день. Задача заключается в следующем: необходимо решить квадратное уравнение вида ax^2+bx+c=0 с учетом вводимых данных. ...

Решение линейного и квадратного уравнения - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; double Lin_riv(double a, double b); double Kvad_riv(double a,...

Решение квадратного уравнения по теореме Виета - C++
Ребят, не знаю как реализовать код для этого задания, очень прошу вас помочь!

Решение квадратного уравнения методом Ньютона - C++
напишите прогу метод ньютона на С


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.05.2009, 02:39     Решение квадратного уравнения #8
Цитата Сообщение от Gravity
%f для float и %lf для double.
не, у printf есть только L (для long double), %lf это для scanf (тоже попадался )

Добавлено через 15 часов 37 минут 50 секунд
Код
    i=-sqrt(1);
вот это вообще убрать, при выводе просто ставить i
а чтобы вычислить всё, что можно вычислить просто по-отдельности вычисли корень дискриминанта, потом раздели -b и полученный корень из дискриминанта по-отдельности на 2a, а потом в выводе собирай форму a+bi (a = -b/2*a, b = sqrt(d)/2*a)

потому что то, что ты записал, во-первых неправильно, а во-вторых, если и сделать правильно, она всё равно не вычислит, так как корень из -1 не вычисляется
Yandex
Объявления
04.05.2009, 02:39     Решение квадратного уравнения
Ответ Создать тему
Опции темы

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