folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Visual C# İle Karışık Dik Üçgen Hesabı(Yardım!)



Visual C# İle Karışık Dik Üçgen Hesabı(Yardım!)

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

    hocam seninkine bakarak düzenleyip şöyle bir şey yaptım:
    bir buton ve textBox koydum.ayrıca sadece tamsayı olan sonuçlar isteniyor.aslında basit ama karışık bir problem :S

    for (int a = 0; a < 100;a++ )

    {

    for (int b = 0; b < 100; b++)

    {

    double c = (a * a + b * b);double d = Math.Sqrt(c);

    textBox1.Text = d.ToString();

    }

    }

     

     

    bu tam olarak 140,007142674936 değerini verdi.

    ilgilendiğin için teşekkürler hocam.


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

    Hocam buraya kadar tmm bencede bide şöyle bişi yapsak ;

    for( int i =0;i<100;i++)

    {

     for (int a = 0; a < 100;a++ )

    {

    for (int b = 0; b < 100; b++)

    {

    double c = (a * a + b * b);double d = Math.Sqrt(c);

    if ( d*d == a*a+b*b )

    textBox1.Text = d.ToString();

     

     

    }

    }

    }

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

    :) Yapmaya çalıştığım 100 e kadar eleman bi döndürsün tüm sayıları bakmak için sonda  yapmaya çalıştığım şey ise virgüllü çıkan sonuçlarda tekrar karesini alırsanız o iki sayının kareleri toplamına eşit olmuyo,yakın oluyo sanırsam denemedim hemen aceleyle yazıyrm .Eğer eşitse zaten tam sayıdır ve textboxa yazdırır die düşünüyorum ama textboxa sadece bir değişken yazdırılmazmı

    bunu listbox içine sıralasak ihtimalleri daha ei olmazmı hocam

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek
    wert bunu yazdı:
    -----------------------------

    şuan hatırlamadığım şeyler var madem tamsayı istiyor 

    double c = (a * a + b * b);

    double d = Math.Sqrt(c);



    for (int a = 0; a < 100;a++ ) 

    {
    for (int b = 0; b < 100; b++) 

    {
    double c = (a * a + b * b);

    double d = Math.Sqrt(c); 
    int e=convert.toint32(d);

    textBox1.Text = e.ToString();

    }

    }

     

    tam çingene hesabı oldu ama neyse ;) 


    -----------------------------
    hocam bu olmaz :D yani virgülleri kaldırıp sayıyı tam sayı şeklinde yazmak :D

     

    ComputerWolf bunu yazdı:
    -----------------------------
    Hoca soruda tek bir sonucmu isteniyor , benim anladigim  a ve b degiskenleri icin 0-100 arasindaki olasiliklar degerlendirilip , hipotenus hesaplandiginda hipotenus'un degeri tamsayi olan a ve b degerlerini istiyor ...Yani mukemmel sayi hesaplamasi gibi dusunun. 1-1000 arasindaki kactane mukemmel sayi oldugunu hesaplamamiz icin kodumuzu yaziyoruz , ne oluyor mukemmel sayi bulmanin matematiksel islemlerini 1-1000 arasinda yaptiriyoruz , bize sonuclari listeliyor.Burada istenende 0-100 arasi a ve b degiskenlerine gelecek sonuclar dogrultusunda hipotenus hesaplanacak ancak ondalikli cikan hipotenus icin a ve b degerleri cikti olarak listelenmeyecek...Dogrumu anlamisim ?
    -----------------------------
    hocam şöyle yapalım tek bir sonuç olsun.olay şudur;

    a ve b aynı veya farklı birer sayı alacak.alacağı değerler 100ü geçmeyecek.yani for ile a ve b yi saydırıcaz.sürekli hipotenüs hesabı yapacak ve virgülsüz olan kaç tane sonuç varsa onu söyleyecek.5 tane var ya da 3 tane var gibi.

    TxT hocam;

    % işaretini kullanarak tamsayı olup olmadığını hesaplayabiliriz sanırım.

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

    hocam şöyle yapalım tek bir sonuç olsun.olay şudur;

    a ve b aynı veya farklı birer sayı alacak.alacağı değerler 100ü geçmeyecek.yani for ile a ve b yi saydırıcaz.sürekli hipotenüs hesabı yapacak ve virgülsüz olan kaç tane sonuç varsa onu söyleyecek.5 tane var ya da 3 tane var gibi.


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

    int toplam=0;

    for( int i =0;i<100;i++)

    {

     for (int a = 0; a < 100;a++ )

    {

    for (int b = 0; b < 100; b++)

    {

    double c = (a * a + b * b);double d = Math.Sqrt(c);

    if ( d*d == a*a+b*b )

    {

    toplam=toplam+1

    }

     

     

    }

    }

    }

    textBox1.Text = toplam.ToString();

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

    :S

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek
    TxT bunu yazdı:
    -----------------------------

    hocam şöyle yapalım tek bir sonuç olsun.olay şudur;

    a ve b aynı veya farklı birer sayı alacak.alacağı değerler 100ü geçmeyecek.yani for ile a ve b yi saydırıcaz.sürekli hipotenüs hesabı yapacak ve virgülsüz olan kaç tane sonuç varsa onu söyleyecek.5 tane var ya da 3 tane var gibi.


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

    int toplam=0;

    for( int i =0;i<100;i++)

    {

     for (int a = 0; a < 100;a++ )

    {

    for (int b = 0; b < 100; b++)

    {

    double c = (a * a + b * b);double d = Math.Sqrt(c);

    if ( d*d == a*a+b*b )

    {

    toplam=toplam+1

    }

     

     

    }

    }

    }

    textBox1.Text = toplam.ToString();

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

    :S


    -----------------------------
    olmuyor hocam :(
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek
    {
      int a,b;

      for(a=1;a<=100;a++)

      {

      for (b = 1; b < 100; b++)
      {

      double c, d;
      d = Convert.ToDouble(a * a + b * b);
      c = Math.Sqrt(d);
       
      if (c%1==0)
      {
       
      listBox1.Items.Add("a=" + Convert.ToString(a) + " & b=" + Convert.ToString(b) + " ise hipotenüs=" + Convert.ToString(c));
      }
      }

      } 
      }


    |sadece aptalların başarısı ders notu ile ölçülür|
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek
    wert bunu yazdı:
    -----------------------------
    {
      int a,b;

      for(a=1;a<=100;a++)

      {

      for (b = 1; b < 100; b++)
      {

      double c, d;
      d = Convert.ToDouble(a * a + b * b);
      c = Math.Sqrt(d);
       
      if (c%1==0)
      {
       
      listBox1.Items.Add("a=" + Convert.ToString(a) + " & b=" + Convert.ToString(b) + " ise hipotenüs=" + Convert.ToString(c));
      }
      }

      } 
      }


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

    ya şimdi bende deneyemiyorum pc im dede hocam bende takıldığımız yer şurası

    biz bu iki elemanın karelerinin toplamının tam sayı old. nereden bileceğiz burası kırılma noktası

    biz bu dalgayı dediğim gibi olmaz sa nasıl yapcaz ... Durdu beynim :) kesin çok tırt bişidir.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    attackatak bunu yazdı:
    -----------------------------
    wert bunu yazdı:
    -----------------------------
    {
      int a,b;

      for(a=1;a<=100;a++)

      {

      for (b = 1; b < 100; b++)
      {

      double c, d;
      d = Convert.ToDouble(a * a + b * b);
      c = Math.Sqrt(d);
       
      if (c%1==0)
      {
       
      listBox1.Items.Add("a=" + Convert.ToString(a) + " & b=" + Convert.ToString(b) + " ise hipotenüs=" + Convert.ToString(c));
      }
      }

      } 
      }


    -----------------------------
    olmadı hocam :(
    -----------------------------

    nasıl olmadı ben niye oluyor :S

    ben listbox kullandım ona dikkat ettinmi :S 


    |sadece aptalların başarısı ders notu ile ölçülür|
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TxT
    TxT's avatar
    Kayıt Tarihi: 13/Eylül/2007
    Erkek

    Tamam hoca mantığı çözdüm bak şimdi ;

    biz double cinsinden yada fload olarak tan hipotenüse kadar sağlıklı buluyoruz değilmi ondan sonra biz bu double i int e çevirip sağlamasını yapacağız

    örneğin..

    a =3 , b=4 , c =?

    double c=a*a+b*b ; double c=25   (sqrt)c=5  , int c = ? , int c =5 ;) sorun yok

    ama

    a=12,b=7 c =?

    double c = 144 + 49  ,  double c = 193  , (sqrt) double = 13,892444  tür biz bu c yi integer formatına çevirdiğimizde

    int c =13 olacaktır daha sonra biz bunun int olarak tekrar karesini alırsak ilk sayıya ulaşamayacağız.. ulaşsaydık bir sayaç çakardık araya ve en sonunda textboxa yazdırıp bitirirdik.

    anlatabilmişimdir inş ..

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek
    wert bunu yazdı:
    -----------------------------

    attackatak bunu yazdı:
    -----------------------------
    wert bunu yazdı:
    -----------------------------
    {
      int a,b;

      for(a=1;a<=100;a++)

      {

      for (b = 1; b < 100; b++)
      {

      double c, d;
      d = Convert.ToDouble(a * a + b * b);
      c = Math.Sqrt(d);
       
      if (c%1==0)
      {
       
      listBox1.Items.Add("a=" + Convert.ToString(a) + " & b=" + Convert.ToString(b) + " ise hipotenüs=" + Convert.ToString(c));
      }
      }

      } 
      }


    -----------------------------
    olmadı hocam :(
    -----------------------------

    nasıl olmadı ben niye oluyor :S

    ben listbox kullandım ona dikkat ettinmi :S 


    -----------------------------
    aha olmuş :D hocam ben textBox da deniyordum onda olmuyor :D

    Çok sağol, Çok teşekkür ederim hocam :)

     

    Yardım elini uzatan herkese ayrı ayrı teşekkür ederim.sağolun varolun beni çıldırmaktan kurtardınız :)

Toplam Hit: 8453 Toplam Mesaj: 22