C++ Soru
Klavyeden iki ayrı polinom bilgileri alarak bu polinomların farklarınından ve toplamlarından oluşan yeni polinomların struct mantığı ile C++ çözünüz. Cevap :
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
#include <iostream> #include <cmath> using namespace std; struct Polinom { int a,b,c; void kokbul(); }; Polinom KatsayilariGir(Polinom A) { cout<<"a = "; cin>>A.a; cout<<"b = "; cin>>A.b; cout<<"c = "; cin>>A.c; return A; } void Polinom::kokbul() { cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; cout<<"c="<<c<<endl; if (a!=0) { double delta,kok1,kok2; delta = b*b-4*a*c; if (delta>=0) { kok1= (-b+sqrt(delta))/(2*a); kok2= (-b-sqrt(delta))/(2*a); cout<<a<<"x^2 + "<<b<<"x + "<<c<<" = 0 denkleminin kokleri "<<endl; cout<<"x1 = "<<kok1<<endl; cout<<"x2 = "<<kok2<<endl; } else cout<<"Denklemin Reel koku bulunmamaktadir"; cout<<endl<<endl<<endl; } else { cout<<b<<"x + "<<c<<" = 0 denkleminin koku "<<a<<endl; cout<<(-1.0*c)/b<<endl; cout<<endl<<endl<<endl; } } void KokleriBul(Polinom A) { A.kokbul(); } Polinom Islem(Polinom A, Polinom B) { Polinom C; C.a = A.a + B.a; C.b = A.b + B.b; C.c = A.c + B.c; return C; } Polinom Islem(Polinom A, Polinom B, char islem) { Polinom C; if (islem=='-') { C.a = A.a - B.a; C.b = A.b - B.b; C.c = A.c - B.c; } else C = Islem(A,B); return C; } int main() { Polinom P1,P2; cout<<"1. polinom icin katsayilari giriniz : "<<endl; P1=KatsayilariGir(P1); cout<<"2. polinom icin katsayilari giriniz : "<<endl; P2=KatsayilariGir(P2); KokleriBul(P1); KokleriBul(P2); Polinom P3; cout<<"1. Polinomdan 2. Polinom cikariliyoir ve olusan polinomun kokleri bulunuyor...."<<endl; P3 = Islem(P1, P2, '-'); cout<<endl<<endl<<endl; KokleriBul(P3); cout<<"1. ve 2. Polinomlar toplanarak kokleri bulunuyor...."<<endl; P3 = Islem(P1, P2); KokleriBul(P3); return 0; } |