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

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

Восстановить пароль Регистрация
 
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
14.04.2010, 22:54     Отладка квадратного уравнения #1
Уважаемые, программеры) сегодня начал изучать 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++ решение квадратного уравнения С++
C++ Решение квадратного уравнения
Решение квадратного уравнения C++
C++ Корни квадратного уравнения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
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
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
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
881 / 616 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
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++

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

Или воспользуйтесь поиском по форуму:
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
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     Отладка квадратного уравнения
Ответ Создать тему
Опции темы

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