【数学】二次方程式の判別

みなさん、学校などで習ったことをプログラムにしてみませんか?
プログラムの勉強にも、習ったことの復習にもなって一石二鳥かもしれません。
自分が投稿しまくるだけになったらすみません...
フォーラム(掲示板)ルール
トピック名はなるべく
[b]【教科/科目名】簡単な内容[/b]
の形にしてください。
重複したトピックはなるべく作らないよう気をつけてください。
(重複した内容を投稿したい時は返信の形でお願いします。
重複したからといって削除や移動は原則として行いません)
コードは正しくcodeタグで囲みましょう。
プログラミングの授業の内容ををそのままや移植して投稿するのはご遠慮ください。
間違っていたら返信で指摘してあげてください。
返信
アバター
Cr
記事: 93
登録日時: 7年前

【数学】二次方程式の判別

#1

投稿記事 by Cr » 7年前

コード:

#include <iostream>
using namespace std;
int main(){

	double a,b,c;
	double answer;
	cout << "ax^2+bx+c=0のa,b,cを入力" << endl;
	cout << "a=";
	cin >> a;
	cout << "b=";
	cin >> b;
	cout << "c=";
	cin >> c;
	answer = b*b - 4 * a * c;
	if(answer==0){
		cout << "実数の重解" <<endl;
	}else if(answer>0){
		cout << "異なる二つの実数解" <<endl;
	}else{
		cout << "異なる二つの虚数解" <<endl;
	}
	
	return 0;
}

アバター
みけCAT
記事: 6150
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: 【数学】二次方程式の判別

#2

投稿記事 by みけCAT » 7年前

aが0のときにもきちんと対応しましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
Cr
記事: 93
登録日時: 7年前

Re: 【数学】二次方程式の判別

#3

投稿記事 by Cr » 7年前

一次方程式の場合っすか…
考えてなかったorz

コード:

#include <iostream>
using namespace std;
int main(){
 
    double a,b,c;
    double answer;
    cout << "ax^2+bx+c=0のa,b,cを入力" << endl;
    cout << "a=";
    cin >> a;
    cout << "b=";
    cin >> b;
    cout << "c=";
    cin >> c;
   
   if(a==0){
      cout << "1つの実数解"<<endl;
      return 0;
   }

    answer = b*b - 4 * a * c;
    if(answer==0){
        cout << "実数の重解" <<endl;
    }else if(answer>0){
        cout << "異なる二つの実数解" <<endl;
    }else{
        cout << "異なる二つの虚数解" <<endl;
    }
    
    return 0;
}
それともこっちの方がいいかな?

コード:

#include <iostream>
using namespace std;
int main(){
 
    double a,b,c;
    double answer;
    do{
        cout << "ax^2+bx+c=0のa,b,cを入力 (ただしa≠0)" << endl;
        cout << "a=";
        cin >> a;
        cout << "b=";
        cin >> b;
        cout << "c=";
        cin >> c;

       if(a==0) cout <<endl<<"入力値が不正です"<<endl<<endl;
    }while(!a);

    answer = b*b - 4 * a * c;
    if(answer==0){
        cout << "実数の重解" <<endl;
    }else if(answer>0){
        cout << "異なる二つの実数解" <<endl;
    }else{
        cout << "異なる二つの虚数解" <<endl;
    }
    
    return 0;
}
一つ目だとa=b=c=0のときとか、またいろいろ必要になってくるし…

返信

“習ったことをプログラムで表してみよう!” へ戻る