folder Tahribat.com Forumları
linefolder C - C++
linefolder C Bilenler !! Sqrt + Scanf Sorunu (2 Den Beri Uğraşıyorum)



C Bilenler !! Sqrt + Scanf Sorunu (2 Den Beri Uğraşıyorum)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    Saat şimdi 6.50 .Sabah c ile uğraşıyordum ki , girilen sayının karekökünü alayım dedim.Demez olaydım.Saat 2 den beri bulmaya çalışıyorum.Googledan Türkçe, ingilizce aradım yok bulamıyorum kafayı yemek üzreyim . Buyrun kodlar ;

    #include <stdio.h>
    #include <math.h>

    int main(){
    double num,hop;
    scanf("%lf",&num);
    hop = sqrt(num);
    printf("%f \n",hop);
    return 0;
    }

    ------------------

    Hata nedir ?? Anlayamadım ama sqrt kısmı problemli.

    printf("%lf\n",sqrt(25));

    yazdımı problem yok . Hata mesajı ;(netbeans kullanıyorum olduğu gibi veriyorum)

    -------

    /usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
    make[1]: Entering directory `/home/ayrox/NetBeansProjects/deneme'
    /usr/bin/make  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/deneme
    make[2]: Entering directory `/home/ayrox/NetBeansProjects/deneme'
    mkdir -p dist/Debug/GNU-Linux-x86
    gcc     -o dist/Debug/GNU-Linux-x86/deneme build/Debug/GNU-Linux-x86/main.o 
    build/Debug/GNU-Linux-x86/main.o: In function `main':
    /home/ayrox/NetBeansProjects/deneme/main.c:14: undefined reference to `sqrt'
    collect2: ld returned 1 exit status
    make[2]: *** [dist/Debug/GNU-Linux-x86/deneme] Error 1
    make[2]: Leaving directory `/home/ayrox/NetBeansProjects/deneme'
    make[1]: *** [.build-conf] Error 2
    make[1]: Leaving directory `/home/ayrox/NetBeansProjects/deneme'
    make: *** [.build-impl] Error 2
    BUILD FAILED (exit value 2, total time: 100ms)

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek
    Edit : Büyük abiler böyle demiş;    

    double sqrt ( double x );
    float sqrt ( float x );
    long double sqrt ( long double x );

    Compute square root

    Returns the square root of x.

    In C++, this function is overloaded in <complex> and <valarray> (see complex sqrt and valarray sqrt).

    Parameters

    x
    Floating point value.
    If the argument is negative, a domain error occurs, setting the global variable errno to the value EDOM.



    Return Value

    Square root of x.

    Portability

    In C, only the double version of this function exists with this name.

    Example

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /* sqrt example */
    #include <stdio.h>
    #include <math.h>

    int main ()
    {
    double param, result;
    param = 1024.0;
    result = sqrt (param);
    printf ("sqrt(%lf) = %lf\n", param, result );
    return 0;
    }



    Output:

    <>
    sqrt(1024.000000) = 32.000000
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TxT
    TxT's avatar
    Kayıt Tarihi: 13/Eylül/2007
    Erkek

    Hocam klavyeden girilen sayının karekökünü bulan programda, girdiğimiz sayının negatif yada pozitif olduğunu sorgulamamız gerekmiyormu ? Şunun gibi..

    #include <stdio.h>
    #include <math.h>

    int main(){
    double num,hop;
    scanf("%lf",&num);
       if(num < 0)
           printf("Girilen Sayi Negatifdir ! Lutfen Pozitif Bir Sayi Giriniz.. ");
       else{
           hop = sqrt(num);
           printf("%f \n",hop);
       }
    return 0;
    }

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    yok abi

    /home/ayrox/NetBeansProjects/deneme/main.c:17: undefined reference to `sqrt'

    hatası veriyor ısrarla

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Lathedarkman
    Lathedarkman's avatar
    Kayıt Tarihi: 05/Mayıs/2007
    Erkek

    zumsuk verdiğin kodlarda sorun yok ben C-Free 4.0 kullanıyorum bunda denedim çalışıyor. sen sanırım c++ turbo kullanıyorsun ?

    http://www.programarts.com/download/cfree4_0_std_setup.exe burdan indir C-Free 4.0'ı kodları yapıştır f5 e bas

    Sorun yok

    http://img7.imageshack.us/img7/4863/63514889.jpg

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TxT
    TxT's avatar
    Kayıt Tarihi: 13/Eylül/2007
    Erkek

    Bende C derleyici yoktu, şimdi C- Free ile baktım seninkilerde çalışıyo.. Java da bazı fonksiyonlarda "referance" istiyor ama C de sqrt için referasa gerek varmıki ?

    Netbeans' de hangi projede yapıyosun hocam?

    http://img691.imageshack.us/img691/7135/zumsk.jpg

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Hocam math kütüphanesinin yüklü olduğundan emin misin? sqrt yerine bi de fabs(25.0) yazip calistirmayi denesene.. Gene ayni lavuklugu yaparsa buyuk ihtimal kutuphaneden dolayi...


    There are 10 types of people in the world. Those who knows binary and those who dont...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    dediğim gibi c ile yapıyorum.C++ ı falan iptal ettim.Sanıyroum sqrt bulamıyor.math.h kütüphanesini tam açamıyor ama gcc ile yaptım yine aynı.

    Linux üstünde başka bir çözümü var galba.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    monoton
    monoton's avatar
    Kayıt Tarihi: 21/Haziran/2008
    Erkek

    bunu dene

    #include <stdio.h>
    #include <conio.h>
    double a,n2=32768,n=65536;
    int k;
    int main ()
    {
        scanf("%lf",&a);
        for(k=0;k<40;++k){
        if(a>n*n)
        n+=n2;
        else
        n-=n2;
        n2/=2;
    }
    printf("%.2f\n",n);
    getch();
    return 0;
    }

    döngüyü artırdıkça hassasiyet artar.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    conio.h yüklenemiyor

    -----

    int main(){
    double num;
    num=sqrt(25);
    printf("%lf",num);
    }

    ----

    yaptığımda çalışıyor problem yok alla alla.conio.h yüklemem lazım ama netbeansın yüklemesi gerekmez mi ?

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    zumsuk bunu yazdı:
    -----------------------------

    conio.h yüklenemiyor

    -----

    int main(){
    double num;
    num=sqrt(25);
    printf("%lf",num);
    }

    ----

    yaptığımda çalışıyor problem yok alla alla.conio.h yüklemem lazım ama netbeansın yüklemesi gerekmez mi ?


    -----------------------------

     

    zumsuk dostum, math.h kutuphanesiyle birlikte derleme yapiyorsan  gcc -Wall kodun.c /usr/lib/libm.a -o cikti.out

    yani matematik librarysi ile birlikte derlemen gerekiyor. Kolay komutu ise

     

    gcc deneme1.c -lm -o deneme1

Toplam Hit: 3214 Toplam Mesaj: 11