アプリ版:「スタンプのみでお礼する」機能のリリースについて

大分前に二次方程式のプログラムを作るって問題が出ていました。
しかし、セットで作ったプログラムのフローチャートを書くんですがフローチャートが分かりません。

条件は
虚数解
a=0
実数解
の場合分けをして、解を出すってプログラムなんですが、多分、それ自体は合っていると思います。

しかし、そのフローチャートを書きなさいって問題があったんですが、それが未だに分からないんですが、これをフローチャートに書くとすると、どう書けばいいですか?


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

int main() {
double a,b,c,d,x0,x1;

cout << "aを入力してください\n";
cin >> a;
cout << "bを入力してください\n";
cin >> b;
cout << "cを入力してください\n";
cin >> c;
d=b*b-4*a*c;
x0 = (-b + sqrt(d)) / (2 * a);
x1 = (-b - sqrt(d)) / (2 * a);

if(a==0) {
cout << "解は1つで" << -c/b << "です\n";
}
else if(d>0) {
cout << "解は二つの実数解で,解は" << x0 << "," << x1 << "です\n";
}
else {
cout << "解は二つの虚数解で,解は" << (-b) / (2 * a) << "+i" << sqrt(-d) / (2 * a) << " , " << (-b) / (2 * a) << "-i" << sqrt(-d) / (2 * a) << "です\n";
}

return 0;
}

A 回答 (2件)

フローチャートがどういうものか、ご存知ですか?



プログラムの動作(手順)を上から順に並べて書くだけですよ。基本は。

この回答への補足

矢印は分かるけど、□に何書くか分からないですが

補足日時:2009/11/22 03:03
    • good
    • 0

フローチャートを書く前の話として、



>x0 = (-b + sqrt(d)) / (2 * a);
>x1 = (-b - sqrt(d)) / (2 * a);

>if(a==0) {

さんざんaで割っておいてからそれがゼロかどうかを判定するのは
順序が逆ですね。

この回答への補足

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

int main() {
double a,b,c,d,x0,x1;

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 <<

なんか答え書いたの見つけたんですが書きかけで終わってしまってるんですよね

補足日時:2009/11/18 22:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!