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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
#1

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

15.11.2012, 16:15. Просмотров 1254. Ответов 15
Метки нет (Все метки)

вычислить корни квадратного уравнения http://www.cyberforum.ru/cgi-bin/latex.cgi?ax^2 + bx+x=0с за данными коэффициэнтами а b, и с (предпологается, что http://www.cyberforum.ru/cgi-bin/latex.cgi?a\neq 0 то что дискриминант уравнения неотрицателен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
15.11.2012, 17:40     Вычислить корни квадратного уравнения #2
коэффициента С нету
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
#include <iostream>
#include <cmath>
const float eps=1e-3;
int main(){
float a, b, c, d;
std::cout<<"Input a b c:";
std::cin>>a>>b>>c;
if (fabs(a)<eps){ 
 if (fabs(b)<eps)
  std::cout<<"No roots ";
 else
  std::cout<<"root x="<<-c/b;
 } 
 else{
   d=b*b-4*a*c;
   if (d<0) std::cout<<"No roots ";
   else 
   if (fabs(d)<eps) std::cout<<"root x="<<-b/(4*a*c);
   else   
   { 
   std::cout<<"root1 x="<<(-b+sqrt(d))/(4*a*c)<<std::endl;    
   std::cout<<"root2 x="<<(-b-sqrt(d))/(4*a*c)<<std::endl;
   
   }
   
 }
return 0;
}
Добавлено через 2 минуты
В упрощенном виде (без проверок на нули и дискриминант)
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cmath>
int main(){
   float a, b, c, d;
   std::cout<<"Input a b c:";
   std::cin>>a>>b>>c;
   std::cout<<"root1 x="<<(-b+sqrt(d))/(4*a*c)<<std::endl;    
   std::cout<<"root2 x="<<(-b-sqrt(d))/(4*a*c)<<std::endl;
   return 0;
}
Добавлено через 45 минут
Ой, забыл!
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cmath>
int main(){
   float a, b, c, d;
   std::cout<<"Input a b c:";
   std::cin>>a>>b>>c;
   d=b*b-4*a*c;
   std::cout<<"root1 x="<<(-b+sqrt(d))/(4*a*c)<<std::endl;    
   std::cout<<"root2 x="<<(-b-sqrt(d))/(4*a*c)<<std::endl;
   return 0;
}
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
15.11.2012, 17:41  [ТС]     Вычислить корни квадратного уравнения #3
почему та прога бросается на sqrt
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
15.11.2012, 17:48     Вычислить корни квадратного уравнения #4
потому что "ой, забыл"

Добавлено через 2 минуты
Короче, я уже подзабывать формулу квура стал
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cmath>
int main(){
   float a, b, c, d;
   std::cout<<"Input a b c:";
   std::cin>>a>>b>>c;
   d=b*b-4*a*c;
   std::cout<<"root1 x="<<(-b+sqrt(d))/(2*a)<<std::endl;    
   std::cout<<"root2 x="<<(-b-sqrt(d))/(2*a)<<std::endl;
   return 0;
}
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
15.11.2012, 17:57  [ТС]     Вычислить корни квадратного уравнения #5
вот кидается на корень
Миниатюры
Вычислить корни квадратного уравнения  
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
15.11.2012, 23:53  [ТС]     Вычислить корни квадратного уравнения #6
народ....помогите.... в чем ошибка у меня?

Добавлено через 2 часа 39 минут
///))
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
15.11.2012, 23:57     Вычислить корни квадратного уравнения #7
среда программирования какая?
попробуй cmath заменить на math.h
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
18.11.2012, 12:24  [ТС]     Вычислить корни квадратного уравнения #8
С++ Билдер
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
19.11.2012, 18:41     Вычислить корни квадратного уравнения #9
hacker13a , у меня в Dev-C++ все работает!
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
28.11.2012, 10:31  [ТС]     Вычислить корни квадратного уравнения #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
if (fabs(a)<eps){
if (fabs(b)<eps)
что означают эти команды?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12498 / 7060 / 792
Регистрация: 27.09.2012
Сообщений: 17,442
Записей в блоге: 2
Завершенные тесты: 1
28.11.2012, 10:41     Вычислить корни квадратного уравнения #11
fabs(a) - абсолютное значение (модуль) a
fabs(b) - абсолютное значение (модуль) b
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
28.11.2012, 10:48  [ТС]     Вычислить корни квадратного уравнения #12
спасибо...))а eps что означает?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12498 / 7060 / 792
Регистрация: 27.09.2012
Сообщений: 17,442
Записей в блоге: 2
Завершенные тесты: 1
28.11.2012, 10:51     Вычислить корни квадратного уравнения #13
Вначале программы объявлена константа:
C++
1
const float eps=1e-3;
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
28.11.2012, 10:53  [ТС]     Вычислить корни квадратного уравнения #14
у меня среда программирования Борланд СИ ++ 5.02))убрал команды std:: и заменил cmath на match.h..))а как задать ей бесконечность..т.е вводить можно было повторно
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
28.11.2012, 11:16     Вычислить корни квадратного уравнения #15
чтобы повторно вводить можно все это в цикл засунуть:
C++
1
2
3
4
while (1)  // бесконечный цикл
{
  ...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 11:24     Вычислить корни квадратного уравнения
Еще ссылки по теме:

Вычислить корни квадратного уравнения. C++
Корни квадратного уравнения C++
Возвращение значения в функции, ссылки, вычислить корни квадратного уравнения C++
C++ Найти корни квадратного уравнения
Найти корни квадратного уравнения C++

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
28.11.2012, 11:24     Вычислить корни квадратного уравнения #16
Цитата Сообщение от hacker13a Посмотреть сообщение
if (fabs(a)<eps){
if (fabs(b)<eps)
Эти команды проверяют, что если а=0 или тем более b тоже равен нулю, то уравнение не квадратное и его не надо решать по формуле корней квура, т.к. произойдёт деление на 2a=0
Yandex
Объявления
28.11.2012, 11:24     Вычислить корни квадратного уравнения
Ответ Создать тему
Опции темы

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