0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 4
1

Реализовать функцию, определяющую количество корней квадратного уравнения

20.03.2016, 21:31. Показов 4300. Ответов 8
Метки нет (Все метки)

//Proc17. Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного уравнения A·x2 + B·x + C = 0 (A, B, C — вещественные параметры, A ≠ 0). С ее помощью найти количество корней для каждого из трех квадратных уравнений с данными коэффициентами. Количество корней определять по значению дискриминанта: D = B2 – 4·A·C.

! НО я хочу сделать так чтобы выводило не количество корней,а значение самого корня .к примеру x1
Программа считает не правильно ,грешу на ошибку в типах данных,ВСЁ ЖЕ люди добрые прошу помочь мне,новичку)

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
#include <iostream>
#include <math.h>
using namespace std;
int rootscount(double a,double b,double c)
{
 
  double d;
double x1;
    if (a!=0)
    {
        d=pow(b,2)-4*a*c;
    }
    if (d>=0)
    {
      x1=(-b+sqrt(d))/2*a;
    }
    return x1;
}
int main()
{
double a,b,c;
cout<<"vved a"<<endl;
cin>>a;
cout<<"vved b"<<endl;
cin>>b;
cout<<"vved c"<<endl;
cin>>c;
cout<<rootscount(a,b,c)<<endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2016, 21:31
Ответы с готовыми решениями:

писать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного уравнения A•x2 + B•x + C = 0 (A, B, C — вещественные параме
Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного...

Написать функцию f(a,b,c), вычисляющую и возвращающую количество корней квадратного уравнения с коэффициентами a, b и с
Написать функцию f(a,b,c), вычисляющую и возвращающую количество корней квадратного уравнения с...

Реализовать программу поиска корней квадратного уравнения
Реализовать программу поиска корней квадратного уравнения. Предусмотреть обработку всех возможных...

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

8
Модератор
Эксперт по электронике
8729 / 6522 / 884
Регистрация: 14.02.2011
Сообщений: 22,822
20.03.2016, 21:36 2
Цитата Сообщение от madmadik1 Посмотреть сообщение
C++
1
2
3
if (d>=0)
{
x1=(-b+sqrt(d))/2*a;
а вот не будет у тебя d>=0 чему x1 ,будет равен?
далее функция возвращает int, а x1 double, при приведении вся дробная часть отсечется
1
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
21.03.2016, 08:20 3
Цитата Сообщение от madmadik1 Посмотреть сообщение
Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного уравнения A·x2 + B·x + C = 0 (A, B, C — вещественные параметры, A ≠ 0).
C++
1
2
3
4
int rootscount(double a,double b,double c)
{
 return 2;
}
0
6 / 6 / 7
Регистрация: 19.03.2016
Сообщений: 50
21.03.2016, 08:28 4
вроде.
C++
1
2
3
4
5
6
7
8
9
int roots_count(double a, double b, double c) {
    double x = pow(b, 2) - 4 * a * c;
    
    if(x > 0)
        return 2;
    else if(x == 0)
        return 1;
    else return 0;
}
1
Модератор
Эксперт по электронике
8729 / 6522 / 884
Регистрация: 14.02.2011
Сообщений: 22,822
21.03.2016, 08:55 5
iars, поизвращаюсь над твоим решением
C++
1
2
3
4
int roots_count(double a, double b, double c) {
double x = pow(b, 2) - 4 * a * c;
return (x>0)*2 + (x==0);
}
но ТС то просил не количество корней, а сам корень
Цитата Сообщение от madmadik1 Посмотреть сообщение
! НО я хочу сделать так чтобы выводило не количество корней,а значение самого корня .к примеру x1
0
6 / 6 / 7
Регистрация: 19.03.2016
Сообщений: 50
21.03.2016, 09:05 6
ValeryS, сами корни вот так как-то тогда, наверное
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double *roots(double a, double b, double c) {
    double x = pow(b, 2.) - 4. * a * c;
    double r[2];
    
    if(x > 0) {
        r[0] = (-b - sqrt(x)) / 2 * a;
        r[1] = (-b + sqrt(x)) / 2 * a;
    }
    else if(x == 0) {
        r[0] = -b / (2 * a);
        r[1] = 0;
    }
    else {
        r[0] = 0;
        r[1] = 0;
    }
    
    return r;
}
не компилировал.
0
Объявлятель переменных
1201 / 389 / 316
Регистрация: 24.09.2011
Сообщений: 1,229
21.03.2016, 09:05 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
 
void getRoots(double a, double b, double c, int &n, double &x1, double &x2) {
    double d = b*b-4*a*c;
    n = ( d>0 ? 2 : (d<0 ? 0 : 1) );
    x1 = (-sqrt(d) - b) / (2*a);
    x2 = ( d>0 ? (sqrt(d) - b) / (2*a) : x1 ); // Ну люблю я тетрарные операции
}
 
using namespace std;
 
int main()
{
    int n = 0;
    double a=1, b = 0, c = 1, x1 = 0, x2 = 0;
    getRoots(a, b, c, n, x1, x2);
    cout << "n = " << n << ", x1 = " << x1 << ", x2 = " << x2 << endl;
}
Но! Как говорил мой препод по началам матанализа, если дискриминант равен нулю, то это не значит, что у уравнения 1 корень. У него 2 одинаковых корня.
1
Модератор
Эксперт по электронике
8729 / 6522 / 884
Регистрация: 14.02.2011
Сообщений: 22,822
21.03.2016, 09:31 8
Цитата Сообщение от iars Посмотреть сообщение
C++
1
r[0] = (-b - sqrt(x)) / 2 * a;
порядок следования нарушен
сначала делим потом умножаем результат
C++
1
r[0] = (-b - sqrt(x)) / (2 * a);
1
0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 4
21.03.2016, 16:43  [ТС] 9
спасибо всем ,учел ваши советы!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2016, 16:43
Помогаю со студенческими работами здесь

Количество корней квадратного уравнения
Реализовать функцию, определяющую количество корней квадратного уравнения (целочисленное значение),...

Для нахождения корней квадратного уравнения использовать функцию
Даны вещественные числа a,b,c,d,e,f.Переменноый S присвоить значение 1, если оба уравнения ах2 +...

Определить количество корней квадратного уравнения
#include &lt;iostream&gt; using namespace std; int main() { int a, b, c; float d; cin &gt;&gt; a &gt;&gt;...

Найти количество действительных корней квадратного уравнения
не могу найти ошибку.Компилятор ругается Суть задачи : Определить кол-во действительных корней...

Напишите функцию, 1.которая переворачивает строку 2.вычисления корней квадратного уравнения
ПОЖАЛУЙСТА ВЫРУЧИТЕ, ПОМОГИТЕ НАПИСАТЬ ПРОГИ: 1) Напишите функцию, которая переворачивает строку...

Описать функцию, определяющую количество корней квадратного уравнения
Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru