Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
ega005
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 101
1

Вычисление дискриминанта

02.05.2013, 12:35. Просмотров 722. Ответов 2
Метки нет (Все метки)

Вроди простая программа но почему то работает некоректно не пойму в чем причина С++
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
 #include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h>
#include <fstream>
#include <math.h>
using namespace std;
 
bool Discrim () {
    setlocale(LC_ALL, "Russian");
    int a; int b; int c; float d; int x1; int x2; int x3;
    
    cout << "Введите число a" << endl;
    cin >> a;
    cout << "Введите число b" << endl;
    cin >> b;
    cout << "Введите число c" << endl;
    cin >> c;
 
    d = (b ^ 2) - (4 * a * c);
    
    if (a==0) {
        cout << "Уравнение линейное" << endl;
    } else if (d>0) {
            x1 = (-b+sqrt(d)) / (2 * a);
            x2 = (-b-sqrt(d)) / (2 * a);
            cout << "D= " << d << endl << "Уравнение имеет два корня = " << endl << x1 << endl << x2 << endl;
        } else if (d==0) {
                x3 = (-b) / (2 * a);
                cout << "D= " << d << endl << "Уравнение имеет 1 корень = " << endl << x3 << endl;
            } else if (d<0) {
                    cout << "Уравнение не имеет корней" << endl;
                }  
                
             system("pause");
  return 0;
            
        }
int main () {
    Discrim ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2013, 12:35
Ответы с готовыми решениями:

Вычисление дискриминанта
Не работает программа. Подскажите, что не так.#include &lt;QTextStream&gt;...

Нахождение дискриминанта
Делал программу на нахождение дискриминанта и тут встал в ступор. Дело в том...

Вычислить x1 (и x2) с помощью дискриминанта
Создать приложение для вычисления x1 (и x2) с помощью дискриминанта. ...

Нахождение дискриминанта через указатели и ссылки
Имеется вот такой код #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Программа для вычисления дискриминанта, пишет ошибку
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; using namespace...

2
Ternsip
664 / 192 / 29
Регистрация: 10.05.2012
Сообщений: 595
02.05.2013, 13:10 2
Цитата Сообщение от ega005 Посмотреть сообщение
if (a==0) {
if (abs(a) < 1e-12)
2) все float замените на double

Цитата Сообщение от ega005 Посмотреть сообщение
int a; int b; int c;
Цитата Сообщение от ega005 Посмотреть сообщение
int x1; int x2; int x3;
переделайте в вещественный тип double, вы просто всё делаете в целых числах

Добавлено через 1 минуту
Цитата Сообщение от ega005 Посмотреть сообщение
cout << "D= " << d << endl << "Уравнение имеет два корня = " << endl << x1 << endl << x2 << endl;
вместо этого пишите лучше так :
printf("D= %.15lf\n Уравнение имеет два корня =\n %.15lf\n%15lf", d, x1, x2);

Добавлено через 1 минуту
Цитата Сообщение от ega005 Посмотреть сообщение
return 0;
это перенесите в конец int main()

Добавлено через 16 секунд
Цитата Сообщение от ega005 Посмотреть сообщение
bool Discrim () {
поменяйте на void

Добавлено через 1 минуту
Цитата Сообщение от ega005 Посмотреть сообщение
(b ^ 2)
^ = xor = битовая операция сумма Жегалкина или сумма по модулю 2
для возведения в степень используйте pow(b, 2.0)

Добавлено через 1 минуту
Цитата Сообщение от ega005 Посмотреть сообщение
(2 * a);
все числа в коде лучше делайте сразу вещественными 2.0 * a, если они будут иметь операции с вещественным типом

Добавлено через 1 минуту
Цитата Сообщение от ega005 Посмотреть сообщение
(d==0)
тут тоже if (abs(d) < 1e-12)
1
ega005
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 101
02.05.2013, 21:06  [ТС] 3
Большое спасибо! все получилось....
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2013, 21:06

Составить программу для решения квадратного уравнения методом дискриминанта.
Составить программу для решения квадратного уравнения методом дискриминанта.

Поиск дискриминанта, АТД "Квадратное уравнение"
нужно создать АТД квадратное уравнение, с выводом корней и самого уравнения на...

Вычисление непрерывных дробей и выражений. Вычисление полиномов и их производных.
1. Чему равна знакочередующаяся сумма цифр числа n. 2. Даны...


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

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

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