Mod almadan nasıl yapıcaz
Çözümü biliyorsun ki soruyorsun C# bilmiyorum vb.net öğreniyorum . Anlatsana xd
Merhabalar sayın THT üyeleri. Aklıma şöyle bir olay geldi. Mesela ben bir soru soracağım ve herkes bu sorunun çözümünü farklı bir algoritmayla cevaplamaya çalışacak. Böylece bir sorunu çözmek için ne kadar yaratıcı olabilineceğini test edeceğiz ve hem C# ta kendinizi daha bir geliştirmiş olacağız hem de ufkumuzu genişletip algoritma üretme becerimizi geliştireceğiz.
O zaman ilk soruyu bu konu altında soruyorum. Bakalım kaç farklı cevap gelecek. Bu arada cevap verirken eski cevaplara göz atın ki aynı cevabı vermeyelim. Basit bir soru ile başlayalım o zaman.
Soru 1 :
Yapmanızı istediğim şey Forma 2 tane TextBox ve 1 tane Button eklemek. Button'a basıldığında textBox1 deki sayının textBox2 deki sayıya bölümünden Kalan'ı mesaj olarak verecek ama bunu yaparken MOD işlemini kullanmanızı istemiyorum.
Örnek : 20 ve 3 sayısını girdiğimizde mesaj olarak 2 vermesi lazım. Hadi bakalım ne cevaplar gelecek merak ediyorum
O zaman ilk çözümü alalım senden Evet soru basit ama bakalım tamamiyle farklı en az 5 cevap gelecek mi?Kısacası mod işlemini bizim yapmamımızı istiyonda bu baya basit bir şey keşke dah zor soraydın.
Yeni bir şey denemek istedim Kulüp için vaktim yok zatenDostum bu böyle yürümez
Eğer böyle birşeyi istiyorsan klüp açarsın ve klübe girenlerle kendi aranızda yaparsınız
O zaman ilk çözümü alalım senden Evet soru basit ama bakalım tamamiyle farklı en az 5 cevap gelecek mi?
Yeni bir şey denemek istedim Kulüp için vaktim yok zaten
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 :0(exec)
1 0.031 0.031 0.031 0.031 :0(setprofile)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.031 0.031 profile:0(fmod(20,5))
0 0.000 0.000 profile:0(profiler)
Bölenle bölüneni bölersin sonucu alırsın ama kalanı nasıl tanıtıcaksın programa
Public Class Form1
Dim x, y, z, t As Integer
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = x
TextBox2.Text = y
z = (x / y)
t = x - (z * y)
Me.Close()
MsgBox("Kalan" & t)
End Sub
End Class
Adam mod kullanma diyor hacımod kullanarak kardeş
Hocam mod kullanmışsın bu sayılmaz Çözüm kabul edilmediaklımda çözüm varda c# da uğraşmak istemiyorum ayrıca aklımdaki çözümün pek performanslı olacağı konusundada şüphelerim var daha iyi bir algortma bulmaya çalışıyorum. Örneğin pythonda c ile yazılmış fmod fonksiyonu
Kod:ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.000 0.000 :0(exec) 1 0.031 0.031 0.031 0.031 :0(setprofile) 1 0.000 0.000 0.000 0.000 <string>:1(<module>) 1 0.000 0.000 0.031 0.031 profile:0(fmod(20,5)) 0 0.000 0.000 profile:0(profiler)
31 ms de çalışıyor
İlk algoritmamız geldi. Bu çözüm bize sonucu verir Daha farklı bir çözüm sunacak biri var mı?Kod:Public Class Form1 Dim x, y, z, t As Integer Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged End Sub Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TextBox1.Text = x TextBox2.Text = y z = (x / y) t = x - (z * y) Me.Close() MsgBox("Kalan" & t) End Sub End Class
int x = int.Parse(textBox1.Text);
int y = int.Parse(textBox2.Text);
while (x>=y)
{
x = x - y;
}
MessageBox.Show(x.ToString());
Hocam mod kullanmışsın bu sayılmaz Çözüm kabul edilmedi
İlk algoritmamız geldi. Bu çözüm bize sonucu verir Daha farklı bir çözüm sunacak biri var mı?
Kod:Public Class Form1 Dim x, y, z, t As Integer Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged End Sub Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TextBox1.Text = x TextBox2.Text = y z = (x / y) t = x - (z * y) Me.Close() MsgBox("Kalan" & t) End Sub End Class
bu sonuçta hatavar örneğin ben 20 yi 3 ye bölersem sonuç
6.666666666666667
olur
bunu tekrar 3 le çarparsam sonuç yine 20-20 den 0 oluyor.Bu yöntem değişkeni direk float kısmı atarsak sonuç veriyor bir nevi tıraşlama.
6.666666666666667+6.666666666666667
13.333333333333334
>>> 13.333333333333334+6.666666666666667
20.0
bu sonuçta hatavar örneğin ben 20 yi 3 ye bölersem sonuç
6.666666666666667
olur
bunu tekrar 3 le çarparsam sonuç yine 20-20 den 0 oluyor.Bu yöntem değişkeni direk float kısmı atarsak sonuç veriyor bir nevi tıraşlama.
6.666666666666667+6.666666666666667
13.333333333333334
>>> 13.333333333333334+6.666666666666667
20.0
Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.