Çarşamba, Şubat 06, 2013

C'de 2.Derece Denklem Kökü Bulma





Evet arkadaşlar bu programımız bize 2. dereceden bir bilinmeyenli denklemlerin köklerini verecek. Diskriminantın durumuna göre köklerin durumunu da yazılı olan bildiren programımız köklerin küsüratlı olma durumu sebebi ile float kalıbıyla yazılmıştır. Programımız a*(x^2)+b*x+c sistemi ile çalışmaktadır. a,b ve c yi sırasıyla klavyeden alan program kökleri ekrana basmaktadır.




Program:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a,b,c,delta,x1,x2,x1r,x1i;
    char unreal='i';
    printf("denklemin koklerini giriniz:\n");
    scanf("%f%f%f",&a,&b,&c);
    delta=b*b-4*a*c;
    x1=((-1)*b+sqrt(delta))/(2*a);
    x2=((-1)*b-sqrt(delta))/(2*a);

    if(delta>0)
    {
        printf("denklemin 2 koku vardir.\nKok1=%f\nKok2=%f",x1,x2);
    }
    if(delta==0)
    {
        printf("denklemin 2 kokude aynidir. kok=%f",x1);
    }
    if(delta<0)
    {
        delta=(-1)*delta;
        x1r=(-1)*b/(2*a);
        x1i=sqrt(delta)/(2*a);
        printf("reel kok yoktur.\nkok1=%f+%f%c\n",x1r,x1i,unreal);
        printf("kok2:%f-%f%c",x1r,x1i,unreal);
    }
    return 0;
}

NOT: İstediğiniz programlar için İletişim sayfasından mail atınız.