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

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

Войти
Регистрация
Восстановить пароль
 
NSTR
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 82
#1

Напишите функцию которая находит корни квадратного уравнения ax^2+bx+c=0 - C++

07.02.2014, 15:54. Просмотров 558. Ответов 3
Метки нет (Все метки)

Напишите функцию которая находит корни квадратного уравнения ax^2+bx+c=0 и записывает результат в переменные типа double, передаваемые по ссылке. В случае отсутствия корней или ввода неправильных данных (a=0) функция выводит на экран соответствующие сообщения об этом. Так же функция выводит сообщение, если корни уравнения одинаковы.
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
#include <iostream>
#include<cmath>
 
using namespace std;
 
int solve(double a, double d, double c, double &x1,double &x2)
{
    double d;
 
    d=b*b-4*a*c;
    if (a==0)
        cout<<"Wrong input!"<<endl;
    else
        if (d>0)
            cout<<"Korney net"<<endl;
        else{
            x1=(-b-sqrt(d))/(2*a);
            x2=(-b+sqrt(d))/(2*a);
            if (x1==x2)
                cout<<"Odinakovy --x1=x2"<<x1<<endl;
            else
                cout<<"Korni uravnenie:x1="<<x1<<"x2="<<x2<<endl;
 
        }
}
int main(){
    double a,b,c,x1,x2;
    double& ax1=x1;
    double& ax2=x2;
    cout<<"Enter a:";
    cin>>a;
    cout<<"Enter b:";
    cin>>b;
    cout<<"Enter c:";
    cin>>c;
    solve (a,b,c,ax1,ax2);
    system("pause");
    return 0;
}
Ругается на 8-ую и 10-ую строчки.Почему?Можете исправить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напишите функцию которая находит корни квадратного уравнения ax^2+bx+c=0 (C++):

Напишите функцию, которая находит корни квадратного уравнения - C++
Напишите функцию, которая находит корни квадратного уравнения ax2+bx+c=0 и записывает результат в переменные типа double, передаваемые по...

Напишите функцию, которая находит корни квадратного уравнения - C++
3. Напишите функцию, которая находит корни квадратного уравнения ax^2+bx+c=0 и записывает результат в переменные типа double, передаваемые...

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

Создать функцию, возвращающую корни квадратного уравнения ax2 + b х + с = 0 - C++
Создать функцию, возвращающую корни квадратного уравнения ax2 + bх + с = 0, где a, b и с –известные коэффициенты уравнения или сообщение о...

Напишите функцию, которая находит сумму элементов - C++
имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали

Напишите функцию, которая находит сумму элементов в таблице - C++
имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов в таблице

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
07.02.2014, 15:58 #2
Цитата Сообщение от NSTR Посмотреть сообщение
Почему?
Два раза объявлена переменная d.
Замените в восьмой строке ее на другую:
C++
8
9
10
double d1;
 
d1=b*b-4*a*c;
0
fireAs
0 / 0 / 0
Регистрация: 06.02.2014
Сообщений: 6
07.02.2014, 15:59 #3
В 6 строчке ты уже занял переменную d,поэтому заново объявить переменную нельзя,проинцилизируй под другим именем,а в 10 строчке по той же причине.
0
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
07.02.2014, 16:09 #4
NSTR,
C++
1
double a, double d, double c
C++
1
solve (a,b,c,ax1,ax2);
я так понимаю, ты хотел передать параметр b;
CODE
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
#include <iostream>
 
using namespace std;
 
void solve(double a, double b, double c, double &x1, double &x2)
{
    double d;
 
    d = b*b - 4 * a*c;
    if (a == 0)
        cout << "Wrong input!" << endl;
    else
    if (d < 0)
        cout << "Korney net" << endl;
    else{
        x1 = (-b - sqrt(d)) / (2 * a);
        x2 = (-b + sqrt(d)) / (2 * a);
        if (x1 == x2)
            cout << "Odinakovy --x1=x2" << x1 << endl;
        else
            cout << "Korni uravnenie:x1=" << x1 << "x2=" << x2 << endl;
 
    }
}
int main(){
    double a, b, c, x1, x2;
    double& ax1 = x1;
    double& ax2 = x2;
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
    solve(a, b, c, ax1, ax2);
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 16:09
Привет! Вот еще темы с ответами:

Напишите функцию которая находит сумму элементов на побочной диагонали - C++
имеется матрица вещественных чисел 4х4. напишите функцию которая находит сумму элементов на побочной диагонали

Напишите функцию Otrezok (x1, y1, x2, y2), которая находит длину отрезка AB по заданным координатам - C++
Неплохие задачи по С++! Подзабыл его( выручайте, буду очень благодарен 1. Даны координаты двух точек A(x1, x2) и B(x2, y2)...

Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали - C++
Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали. Написал программу: ...

Корни квадратного уравнения - 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)...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.02.2014, 16:09
Ответ Создать тему
Опции темы

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