@Taxi-Driver C# ile Android uygulaması geliştirebilirsin. Bunun içinde Xamarin ve dot43 kelimelerini araştırmanı öneririm. @neselihayalet int y = 0; Buna ilklendirme diyoruz. Eğer int y; şeklinde yazarsan y değişkenin içinde çöp değerler olur. Bunu daha iyi anlamak için int y; cout << y << endl; yazarsanız daha iyi anlarsınız. y++ denmesinin sebebi matematik ile ilgili. Asal sayılar sadece 1'e ve kendisine bölünebilen sayılardır. Yani buradan anlayacağımız sadece 1'den başlayarak kendisine kadar gelen sayılardan sadece 2 tane sayıya bölünebilir. Bunlarda 1 ve kendisidir. for döngüsüne 1 den başlayıp sayının kendisine kadar(kendisi dahil) birer birer arttırıyoruz. Sonra bu sayılar girdiğiniz sayıya bölünüyor. Sonra bu bölümünün sonucunda kalanları kontrol ediyoruz. Onu da mod alma operatörü ile yapıyoruz. Eğer sayı asal ise sadece 2 kere kalan 0 olacak. y'i arttırmamızın sebebi de bu kaç tane kalanın 0 olduğunu hesaplıyoruz. Sonra bunu kontrol ediyoruz. Eğer y == 2 olursa bu sayı asaldır diyoruz. 2 dışındaki değerlerde asal değildir diyoruz. Eğer y = 0 yapmazsak for döngüsünün başına tekrar geldiğimizde y'nin değeri hala 2'dir. Böyle olunca Gireceğimiz sayı asal olsun olmasın y sayısını en az 2 kere arttıracağız böyle oluncada sürekli if kısmında else düşecektir. Yani sayımız asalda olsa y = 4 olur ve else kısmına girip asal değildir yazar. Biraz karışık yazmış olabilirim ama umarım anlarsınız. |
dot42 olacaktı kusura bakmayın yanlış yazmışım :) |
Hocam onun da belirteci %d degil mi? ayrica int neden 7 basamakli bir sayiyi yazamaz ki? ![]() |
long long tipi 64 bit (2^63). Visual c++ ta __int64, gcc de int64_t olarak kısaltılmış (stdint.h başlığını eklemek gerekiyor). |
Belirteci ne bilmiyorum. int C# da 32 bittir, bu da kafadan 4 trilyon yapar, fakat int signed se yani isaretliysa bunlarin ilk biti isaret icin gider, buda 31 bit eder yani 2 trilyon yapar, bu da 9 basamakli sayiya kadar problem cikarmaz. |
yardım lütfen c# ta 1000 e kadar aralarında asal olan sayı çiftlerini ekrana yazdıran program. ikili şekilde olacak örnek 10 ve 21 console olacak |
hocam <stdio.h> haricinde kutuphane kullanamiyoruz maalesef ![]() |
e hocam sorun ne olabilir zaman 7 basamak ve sonrasini gostermiyor. |
Ben anlamadim hangi dil kullandigini, dil C/C++ sa birsuru nedeni olabilir, oteki dillerde(C#, Java) pek mumkun degil. |
C hocam |
Yardımcı olacak var mı ? |
Visual basic bilmiyorum ama algoritma olarak yardımcı olmaya çalışayım. Böldüğün resimleri nerede tutuyorsun. 12 farklı değişkende mi yoksa bir dizide mi tutuyorsun. Eğer dizide tutuyorsan tekrar gösterirken rastgele indis vererek gösterebilirsin. |
Hocam her bir resim ayrı ayrı picturebox'ların içinde |
Her picturebox'ın bir nesnesi vardır galiba. Bu nesnenin getImage(), setImage() isimli fonksiyonu varsa eğer bu pictureboxların nesnelerini bir diziye atarsın. Sonra for döngüsü ile bulundugun indexdeki picturebox nesnesinin setBox fonksiyonunu kullanarak başka bir indisdeki nesnenin getImage fonksiyonunu kullanarak resimlerini değiştirebilirsin. pseudo kod olarak yazacak olursam.
Edit: rand [ i ]'i (rand [ i ] - 1 )olarak değiştirdim yazarken indis olarak yazmayı unutup 1 den başlatmışım :s. Ayrıca MrOwl'un dediği gibi random sayı üretme kısmını o şekilde yaparsan daha iyi olur. Ben fazla uzatmamak için kısaca böyle yazmıştım. |
Bu soruyu ben de yanıtlayacaktım lakin ben de VB bilmiyorum. Mesele de dile kalmış durumda. Karıştırma işlemi basit bir işlem, şöyle biraz düşününce pratikte kullanılan şeyler var. Yazmış bulundum devamını getireyim bari :) Resmi nxm veya n^2(kare matris) bölüyorsanız nxm veya n^2 kadar aralıkta rastgele değişkenler tanımlayın. Örneğin 4x3 bölüyorsanız [0,12) arasında değişken tutabilirsiniz. Bir rastgele sayı seçin(6 olsun), bu seçileni 1x1'e (diziler için0,0) atayın. Sonra bu bulunan rastgele değeri diziden çıkarın. Bir dahaki seçimde [0,11] - {6} aralığından bir rastgele sayı seçilir. Bunu da (3 olsun) 1x2 (dizilerde 0,1 veya başka bir sırayla fark etmez) atayın. Ve bunu da diziden çıkarın. Bir sonraki aralık [0,11] -{6,3} aralığı olacaktır. Düzen içerisinde aynı sayıda tekrar eden terimler bu şekilde karıştırılabilir. Bahsettiğim şey rastgele seçimlerde aynı seçimi tekrar yapmamak üzerine bir mantık. Özellikle kelime algoritmalarında, anagramda çok sık kullanırdım. VB'de nasıl bu işlem yapılır bilmiyorum. C#'da kısa metotları var. Duruma göre başka mantıklar da oluşturulabilir. Ben olsam yine bu yöntemi kullanırdım. Source arkadaşım belki daha pratik bir yöntem önerebilir. İyi çalışmalar |
yardım edebilecek yok mu yaa |
İki döngü alacaksanız çift1, çift2. Sırayla karşılaştırın. 3,3 3,4 3,5 ... 3,1000 4,3 ... 1000,1000 Aralarında asalın tanımı, en basit dilde sadeleşmeyen kesirler oluşturmalarıdır diyebiliriz. Bunu da çeşitli yöntemlerle yapabilirsiniz. Basit olanı, küçük sayıya kadar olan sayıları diğerine bölmeyi denersiniz(2den başlayarak). Tam bölünüyorsa aralarında asal değillerdir. Bunu biraz hızlandırmak için yarısına kadar olanlara bölersiniz. Misal ikisi de ikinin katı olanları değerlendirmeyin bile. Asal sayı algoritmalarındaki, özellikle Sieve of Eratosthenes mantık bunda da kolaylık sağlayabilir. Biraz düşünün. İyi çalışmalar |
C# selam arkadaşlar bi sorum olacak form1 ve form 2 var form1 de groupbox içinde kull.adı ve şifre giriliyor form2 de başarılı giriş veya değil yazıyor burda sorun yok ama istiyorum ki form1 de kull.adı ve şifre 3 kere yanlış girildimi form1 deki groupbox kitlensin groupbox ı form2 den yönetemiyorum form2 de girmeliyim bu kodu çünkü koşullarım form2 de yazılı (yardım etmek isteyip de tam anlamayan olursa kodları yazarım burada) |
Compiler a yazıp direkt // tan sonraki yargıları daha iyi okuyabilirsiniz, arkadaşlar lütfen yardım. Haftaya pazartesi sınav var, 3 kişi oturduk, delircez, çözemiyoruz.