Bu örnekte, C programlamasında ikinci dereceden bir denklemin köklerini bulmayı öğreneceksiniz.
İkinci dereceden bir denklemin standart biçimi şöyledir:
1 2 3 4 5 |
ax<sup>2</sup> + bx + c = 0, burada a, b ve c gerçek sayılardır ve a != 0 |
b2-4ac terimi, ikinci dereceden bir denklemin ayırt edicisi olarak bilinir. Köklerin doğasını anlatır.
Ayırıcı 0’dan büyükse, kökler gerçek ve farklıdır.
Ayırıcı 0’a eşitse, kökler gerçek ve eşittir.
Ayırıcı 0’dan küçükse, kökler karmaşık ve farklıdır.
C Kodları:
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 |
#include <math.h> #include <stdio.h> int main() { double a, b, c, discriminant, kok1, kok2, realPart, imagPart; printf("a: "); scanf("%lf", &a); printf("b: "); scanf("%lf", &b); printf("c: "); scanf("%lf", &c); discriminant = b * b - 4 * a * c; // condition for real and different roots if (discriminant > 0) { kok1 = (-b + sqrt(discriminant)) / (2 * a); kok2 = (-b - sqrt(discriminant)) / (2 * a); printf("root1 = %.2lf and root2 = %.2lf", kok1, kok2); } // condition for real and equal roots else if (discriminant == 0) { kok1 = kok2 = -b / (2 * a); printf("root1 = root2 = %.2lf;", kok1); } // if roots are not real else { realPart = -b / (2 * a); imagPart = sqrt(-discriminant) / (2 * a); printf("kök1 = %.2lf+%.2lfi ve kök2 = %.2f-%.2fi", realPart, imagPart, realPart, imagPart); } return 0; } |
Ekran Çıktısı:
1 2 3 4 5 6 |
a: 2 b: 4 c: 3 kök1 = -1.00+0.71i ve kök2 = -1.00-0.71i |
Add Comment