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

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

Войти
Регистрация
Восстановить пароль
 
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
#1

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

14.04.2010, 22:54. Просмотров 575. Ответов 6
Метки нет (Все метки)

Уважаемые, программеры) сегодня начал изучать c++ самостоятельно. Решил написать квадратное уравнение с нуля. Только вот, к сожалению, программа не работает. Буду очень рад за помощь и толковое объяснение.

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
#include <iostream>
#include<cmath>
 
 
using namespace std;
 
 
int main()
{
    int a;
    int b;
    int c;
    int d;
    int x1;
    int x2;
    system("COLOR 2");
    cout << "Input a: "<<endl;
    cin >> a;
    cout <<"Input b: "<<endl;
    cin >> b;
    cout <<"Input c:"<<endl;
    cin >> c;
    double b[2];
    d=b-4*a*c;
    if (d<0){
        cout <<"d is < 0"<<endl;}
    double sqrt(double d);
    x1=(-b+d)/2*a;
    x2=(-b-d)/2*a;
    cout <<x1<<endl;
    cout <<x2<<endl;
    cout <<d<<endl;
        system("PAUSE"); 
}

ПС как описать все переменные проще, а не так, в столбик, как у меня ^^.
Заранее огромное спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 22:54     Отладка квадратного уравнения
Посмотрите здесь:

корни квадратного уравнения - C++
решите кому не сложно... составить программу расчитывающую корни квадратного уравнения с учетом знака дискреминанта... заранее спасибо.

Корни квадратного уравнения - C++
#include&lt;math.h&gt; #include&lt;windows.h&gt; #include&lt;iostream.h&gt; #include&lt;stdlib.h&gt; double MyRoots (double a, double b, double c,double d)...

Вычисление корней квадратного уравнения - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { system(&quot;cls&quot;); setlocale(LC_ALL, &quot;RUS&quot;); double...

Вычислить корни квадратного уравнения - C++
вычислить корни квадратного уравнения ax^2 + bx+x=0с за данными коэффициэнтами а b, и с (предпологается, что a\neq 0 то что дискриминант...

Вычислить корни квадратного уравнения - C++
вычислить корни квадратного уравнения ax^2+bx+c=0 с за данными коэффициентами a, b и c (предпологается, что a не =0 и что дискриминант...

Даны коэфициенты квадратного уравнения a,b,c - C++
Даны коэфициенты квадратного уравнения a,b,c. Найти действительные корни этого уравнения.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
14.04.2010, 23:01     Отладка квадратного уравнения #2
1) дискриминант правильней найти по формуле: pow(b,2)-4*a*c.
2)
C++
1
int a, b, c, d=0, x1=0, x2=0;
Добавлено через 3 минуты
ПС- Квадратное уравнение
3-ий пост.
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
14.04.2010, 23:03  [ТС]     Отладка квадратного уравнения #3
а что такое using namespace std; и вообще std?
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
14.04.2010, 23:10     Отладка квадратного уравнения #4
Если вы не напишете "using namespace std;" то, например, вместо cout << "Hello world!"; надо будет каждый раз писать std::cout << "Hello world!"; и так для каждой стандартной функции.
Что выбрать, дело ваше.
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
14.04.2010, 23:24  [ТС]     Отладка квадратного уравнения #5
Всем спасибо, сделал. Вот правильный, рабочий код:

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
#include <iostream>
#include<cmath>
 
 
using namespace std;
 
 
int main()
{
    int a, b, c, d, x1, x2;
    
    system("COLOR 2");
    cout << "Input a: "<<endl;
    cin >> a;
    cout <<"Input b: "<<endl;
    cin >> b;
    cout <<"Input c:"<<endl;
    cin >> c;
    d=b*b-4*a*c;
    if (d<0){
        cout <<"d is < 0"<<endl;
        goto bad;
    }
    x1=(-b+d)/2*a;
    x2=(-b-d)/2*a;
    cout <<"x1="<<x1<<endl;
    cout <<"x2="<<x2<<endl;
    cout <<"D="<<d<<endl;
    bad:
        system("PAUSE"); 
}
Alex5
1048 / 711 / 104
Регистрация: 12.04.2010
Сообщений: 1,789
14.04.2010, 23:36     Отладка квадратного уравнения #6
Цитата Сообщение от Beleaf Посмотреть сообщение
Вот правильный, рабочий код:
Вы уверены?
Попробуйте решить 4*x*x - 1 = 0 , x*x - 1 = 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2010, 23:37     Отладка квадратного уравнения
Еще ссылки по теме:

Вычислить корни квадратного уравнения. - C++
Написать программу для с++: Вычислить корни квадратного уравнения.

Программа решения квадратного уравнения - C++
Написать программу которая будет решать квадратное уравнение (любое). Помогите пожалуйста написать.

Вычисление корней квадратного уравнения - C++
1) Пишем функцию, которая переворачивает строку (массив типа char). Используйте цикл for, который меняет местами первый и последний...

Функция решения квадратного уравнения - C++
Помогите пожалуйста составить программу в С++. Функции. Написать функцию решения квадратного уравнения. Исходными данными для...


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

Или воспользуйтесь поиском по форуму:
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
14.04.2010, 23:37     Отладка квадратного уравнения #7
1) Оператором goto советую не пользоваться вообще.
2) Вы неправильно находили x1, x2, именно поэтому, теперь, переменная d типа double.
3) Подправил:
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
#include <stdafx.h>
#include <iostream>
#include <cmath>
using namespace std;
 
 
 
int main()
{
    setlocale( LC_ALL,"Russian" );
 
    int a, b, c;
    double d=0;
        
        cout << "Input a: "; // ввод данных.
        cin >> a;
        cout <<"Input b: ";
        cin >> b;
        cout <<"Input c:";
        cin >> c;
 
        d=b*b-4*a*c; // нахождение дискриминанта.
 
        if (d<0) cout <<"d is < 0"<< endl;
    if (d==0) cout << "d=0\n" << "x= " << -b/2*a << endl; // при d=0, будет один корень.
    if (d>0)
    {   
        cout <<"x1="<< (-b+pow(d, 0.5))/2*a <<endl;
        cout <<"x2="<< (-b-pow(d, 0.5))/2*a <<endl;
        cout <<"D="<< d <<endl;
    }
 
    system("pause");
    return 0;
}
}
Yandex
Объявления
14.04.2010, 23:37     Отладка квадратного уравнения
Ответ Создать тему
Опции темы

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