folder Tahribat.com Forumları
linefolder C - C++
linefolder Basit Bi C Hatası Yardım



Basit Bi C Hatası Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ekerci
    Ekerci's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    3 tane sayı verecez bu sayılar a+b>c ,a+c>b, c+b>a olacak ve eksi bir sayı girdigimizde onların mutlak deger halini alıp hesaplayacak.

    #include <stdio.h>

    int absolute(int m,int n,int k){

        if(m<-1|| n<-1||k<-1) m*=-1,n*=-1,k*=-1;

        return 0;

    }

    int triangle(int x,int y,int z){

        if((x+y>z)&& (x+z>y) &&(z+y>x))

        return 1;

        else

        return 0;

    }

    int main()

    {

      int a,b,c;

      printf("give the first number..\n");

      scanf("%d",&a);

       printf("give the second number..\n");

      scanf("%d",&b);

       printf("give the third number..\n");

      scanf("%d",&c);

      if (triangle(absolute(a), absolute(b), absolute(c)))// burda hata alıyorum

      printf("they can be a triangle..\n");

      else

      printf("they cant be a triangle..\n");

      

      system("PAUSE");

      return 0;

    }

     

    hatalar :too few arguments to function'absolute.3 tane bundan yazmıs
                [build eror] [main1.o] Error1


    Konu ID: 112846 Konuyu Acan : Ekerci Konu Başlığı : Tahribatın en sevdiği adam ? Silinme Sebebi : 3 sayfadır takip ediyorum beni seven kimse çıkmadı. alacağınız olsun müridler
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    int absolute(int m,int n,int k) olarak tanımlamışsın. Yani bu metodu çağırman için 3 tane integer parametre vermelisin. Ama çağırırken de absolute(a) şeklinde çağırmışsın. Tek integer parametre vermişsin.


    Sen hiç kaval çaldın mı?
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ekerci
    Ekerci's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    JPriest bunu yazdı:
    -----------------------------

    int absolute(int m,int n,int k) olarak tanımlamışsın. Yani bu metodu çağırman için 3 tane integer parametre vermelisin. Ama çağırırken de absolute(a) şeklinde çağırmışsın. Tek integer parametre vermişsin.


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

    olmadı hocam..yada ben yanlıs anladım..bi kod olarak yazarmısın ?


    Konu ID: 112846 Konuyu Acan : Ekerci Konu Başlığı : Tahribatın en sevdiği adam ? Silinme Sebebi : 3 sayfadır takip ediyorum beni seven kimse çıkmadı. alacağınız olsun müridler
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SARI
    SARI's avatar
    Banlanmış Üye
    Kayıt Tarihi: 29/Eylül/2009
    Erkek

    int absolute(int m)

    {

        if(m<-1) 

     m*=-1;

        return 0;

    }

     


    Ban Sebebi : Molrada Haarket Eiğtti için Bdnlaanı... Türkçe öğretmenliği okuyan arkadaşım sana ders verebilir admin arkadaş :)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    black_lord
    black_lord's avatar
    Kayıt Tarihi: 03/Temmuz/2007
    Erkek

    abs fonsiyonunu aşağıdaki gibi değiştirirsen sorunun çözülür.

    int absolute(int m){

        if(m<0)
            m*=-1;

        return m;
    }

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    uLtRaLoVeR
    uLtRaLoVeR's avatar
    Kayıt Tarihi: 25/Haziran/2007
    Erkek

    SARI bunu yazdı:
    -----------------------------

    int absolute(int m)

    {

        if(m

     m*=-1;

        return 0;

    }

     

     


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

     

    Burası da yanlış aslına bakarsan,

    fonksiyon çağrılması sırasında call by value olduğu için yazdığın değişkenin değeri atanıyor m'ye ve m yerel bir değişken olduğundan yaptığın herhangi bir değişiklik sonucu etkilemez hesaplanıp unutulur.

    Edit m<-1 iken -1 ile çarpmak m=-1 olduğu durumda sonucu yanlış bulmana sebep olur yine. m<0 demelisin ki negatif her sayı için absolute alsın.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ekerci
    Ekerci's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    uLtRaLoVeR bunu yazdı:
    -----------------------------

    SARI bunu yazdı:
    -----------------------------

    int absolute(int m)

    {

        if(m

     m*=-1;

        return 0;

    }

     

     


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

     

    Burası da yanlış aslına bakarsan,

    fonksiyon çağrılması sırasında call by value olduğu için yazdığın değişkenin değeri atanıyor m'ye ve m yerel bir değişken olduğundan yaptığın herhangi bir değişiklik sonucu etkilemez hesaplanıp unutulur.

    Edit m


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

    aa hocam haklısın normalde sıfır yapardım aklım nerdeyse -1 yapmısm :D


    Konu ID: 112846 Konuyu Acan : Ekerci Konu Başlığı : Tahribatın en sevdiği adam ? Silinme Sebebi : 3 sayfadır takip ediyorum beni seven kimse çıkmadı. alacağınız olsun müridler
Toplam Hit: 1054 Toplam Mesaj: 7