Visual C# İle Karışık Dik Üçgen Hesabı(Yardım!)
-
hoca bi ödev verdi kafayı yemek üzereyim bi kaç yol denedim olmadı.algoritmayı kafam almıyor.
|\
| \
| \
|b \ hipotenüs.
| \
| \
|____\
aödev şu:
|dik üçgen de hipotenüsü bulmak : (Akare+Bkare)karekökü |
a ve b yi 0-100 arasında saydırarak hipotenüsü hesaplıcak ve önüme sadece tamsayı olan değerleri koyacak.
yani textBox da sadece tamsayı olacak.virgüllü sayıları yazdırmıcak.
-
saydıracak derken nasıl onu anlamadım :S
-
sürekli her sayıyı deniyecek.a ya 1, b ye 2 ya da a'ya 3 b'ye 4 falan.zor gibi gözüküyor ama kesin kolay bi yolu vardır yoksa bir gün de yapın getirin bunu demez :S
-
birtane listbox ekle forma buton ekle bunu yaz butonun click eventine
{
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);
listBox1.Items.Add("a=" + Convert.ToString(a) + " & b=" + Convert.ToString(b) + " ise hipotenüs=" + Convert.ToString(c));
}
}
} -
döngü olayına girmedim ama visual basic'te ki hipotenüs hesaplama kodlarını eklim. C# a cevirirsin. döngü olayını da tam anlayamadım :S
Private Sub Command1_Click()
hipotenuskaresi = (Val(Text1.Text) * Val(Text1.Text)) + (Val(Text2.Text) * Val(Text2.Text))
Text3.Text = Round(Sqr(hipotenuskaresi))
End Sub -
Hoca oldukca basit , sen ondalikli sayilar kisminda takildiysan , sayinin tam sayi olup olmadigini anlayacaksin olacak bitecek.Sen kodlaridami yazacaksin , sadece algoritmasinimi ?
-
hocam seninkine bakarak düzenleyip şöyle bir şey yaptım:
for (int a = 0; a < 100;a++ )
bir buton ve textBox koydum.ayrıca sadece tamsayı olan sonuçlar isteniyor.aslında basit ama karışık bir problem :S{
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.
-
ComputerWolf bunu yazdı:
-----------------------------
Hoca oldukca basit , sen ondalikli sayilar kisminda takildiysan , sayinin tam sayi olup olmadigini anlayacaksin olacak bitecek.Sen kodlaridami yazacaksin , sadece algoritmasinimi ?
-----------------------------
kodlarıda yazıcam hocam.fakat algoritmayı anlayamadığım için kodları yazamıyorum. -
ş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 ;)
-
attackatak bunu yazdı:
-----------------------------ComputerWolf bunu yazdı:
-----------------------------
Hoca oldukca basit , sen ondalikli sayilar kisminda takildiysan , sayinin tam sayi olup olmadigini anlayacaksin olacak bitecek.Sen kodlaridami yazacaksin , sadece algoritmasinimi ?
-----------------------------
kodlarıda yazıcam hocam.fakat algoritmayı anlayamadığım için kodları yazamıyorum.
-----------------------------senin istediğin ney aga benim anladığım
a=1 b=1 iken hipo=......
a=1 b=2 iken hipo=.......
.
.
.
..
.
a=2 b=1 iken hipo=.......
a=2 b=2 iken hipo=......
.
.
.
.
a=100 b=100 iken hipo=.....
bu değilmi :S
-
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 ?