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

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

14.04.2010, 22:54. Просмотров 618. Ответов 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"); 
}

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

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

Решение квадратного уравнения
Программа меняет корни Х1 и Х2 местами. вместо -1 2 выводит 2 -1 #include...

Решение квадратного уравнения
Вообщем задание. Написать программу для решения квадратного уравнения, где...

Корни квадратного уравнения
Найти корни квадратного уравнения A*x*x+B*x+C=0, заданного своими...

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

6
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
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-ий пост.
1
Beleaf
9 / 9 / 4
Регистрация: 14.04.2010
Сообщений: 99
14.04.2010, 23:03  [ТС] 3
а что такое using namespace std; и вообще std?
0
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
14.04.2010, 23:10 4
Если вы не напишете "using namespace std;" то, например, вместо cout << "Hello world!"; надо будет каждый раз писать std::cout << "Hello world!"; и так для каждой стандартной функции.
Что выбрать, дело ваше.
1
Beleaf
9 / 9 / 4
Регистрация: 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"); 
}
0
Alex5
1123 / 784 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
14.04.2010, 23:36 6
Цитата Сообщение от Beleaf Посмотреть сообщение
Вот правильный, рабочий код:
Вы уверены?
Попробуйте решить 4*x*x - 1 = 0 , x*x - 1 = 0
0
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
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;
}
}
1
14.04.2010, 23:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2010, 23:37

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

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

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


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

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

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