こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C++の二次方程式のプログラム

二次方程式の解を求めるプログラムで虚数解の場合、a=0の場合、実数解の場合で求めるようにしているんですが、

#include <iostream>
#include <cmath>
using namespace std;

int main() {
double a,b,c;
cin >> a >> b >> c;

if(a==0) {
cout << (-c/b) << '\n';
}
else if((b*b-4*a*c)<0) {
cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n';
}
else {

次にcout が来るのは分かってるんですが、数学でこういう書き方しなし、ここから先の書き方が分からないんですが、どうやって書けばいいですか?
多分return 0;
}
のぞいてあと2行か1行だと思うんですが

投稿日時 - 2009-11-24 15:57:41

QNo.5472503

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n';

虚数解の場合をこのように書けるということは、解の公式自体はじゅうぶん理解されているのですね。
とすれば、当該公式の±の部分をばらして、別々に書くだけではないですか。

投稿日時 - 2009-11-25 23:28:30

ANo.1

重解になる場合と異なる 2実解になる場合とで表示を分ける必要はありますか?
本質的には「数学的に求める式」を書けばいいだけです.

投稿日時 - 2009-11-24 19:11:08

補足

問題にそうやって書いてあるしそれでいいと思いますよ。最後の1行はどう入れればいいんですか

投稿日時 - 2009-11-24 22:47:01