Buatlah program untuk
menghitung akar-akar persamaan kuadrat x1 dan x2 dari persamaann ax2 + bx + c.
Program bisa menampilkan keterangan apakah akar-akar tersebut apakah real atau
imajiner (ditentukan dari determinan D = b2 – 4ac), dan apakah akar-akar
tersebut kembar atau berbeda.
Input program berupa
nilai a, b dan c. Output berupa nilai x1 dan x2, real atau imajiner dan kembar
atau berbeda.
#include <iostream>
#include <math.h>
#include <limits>
#include <cstdlib>
#include <cstring>
using namespace std;
int kata;
char val [100];
int validasi()
{
do
{
kata=0;
cin>>val;
for(int i=0; i<strlen(val); i++)
{
if(isdigit(val[i])==0)
kata++;
}
if(kata !=0)
cout<<"Input salah !\n"<<endl;
}
while(kata!=0);
return 0;
}
int main(){
double x1, x2;
double d;
double a,b,c;
cout<<"Masukkan persamaan kuadrat dari ax2 + bx + c"<<endl;
cout <<"Masukkan nilai a : ";
validasi(); a=atoi(val);
cout <<"Masukkan nilai b : ";
validasi(); b=atoi(val);
cout <<"Masukkan nilai c : ";
validasi(); c=atoi(val);
cout<<endl;
cout<<"Persamaan kuadrat nya adalah "<<a<<"x^2 + "<<b<<"x + "<<c;
cout<<endl;
d=(b*b)-(4*a*c);
if (d>=0){
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
cout<<"Nilai X1 = "<<x1<<endl;
cout<<"Nilai X2 = "<<x2<<endl;
cout<<"Akar tersebut adalah real";
cout<<endl;
{
if (x1 == x2){
cout<<"X1 dan X2 adalah angka kembar"<<endl;
}
else
cout<<"X1 dan X2 adalah angka yang berbeda"<<endl;
}
}
else {
cout<<"Nilai X1 = "<<x1<<endl;
cout<<"Nilai X2 = "<<x2<<endl;
cout<<"Akar tersebut adalah imajiner";
}
return 0;
}

0 comments:
Post a Comment