İkilemeleri belirleyen bir fonksiyon oluşturabilirsin. Veya LINQ kullanabilirsin ? Distinct() fonksiyonu ile her karakter yalnızca 1 kez bulunur, ikilemeleri yok edersin.
@Microsoft Specialist harfler dizisi rnd'yi içeriyor mu? Bu şekille hallettim ancak kolay olmadı,Teşekkürler. @bersgurs Yardımınız için teşekkürler ancak liste oluşturmayı görmedik ve görmediğimiz şeyleri kullanmadan yapmamızı istiyorlar. @Dentrax Aynı şekilde böyle bir yapıda görmedik,yardımınız için teşekkürler.
Şimdiki sorunum biraz daha enteresan; Örnekte olduğu gibi gelen harfi diziden çıkartmam lazım.Bunu hallettim ancak bende |P U Z harfleri varken P harfini çıkartınca | U Z oluyor,oysaki |U Z olmalı yani çıkartılan harfin yeri boşluk oluyor oysaki default olup hiç yer kaplamaması lazım. şimdiye kadar denediklerim 1-char c = '\0'; 2-char d = "\0".ToCharArray()[0]; 3-char e = char.MinValue; 4-char f = Convert.ToChar(0); 5-diziyi nullable char olarak tanımladım char?[] test = new char?[3] {a,b,c}; test[2] = null; Ancak hiçbiri olmadı
Char array den eleman silerken geçiçi bir dizi oluştur öncekinin boyut olarak 1 küçüğü olması gerek sonra elemanları teker teker kopyalarsın silmek istediğini kontrol ederek.
Liste yapısını array kullanarak oluşturabilirsin( Sınıf oluşturmayı öğrenmiş olmanız gerekir bunun için) yoksa her harfi tek tek kontrol edeceksin var mı diye.
< Bu mesaj bu kişi tarafından değiştirildi bersgurs -- 24 Kasım 2016; 19:21:43 >
@bersgurs hocam mesela 27 karakterlik 2dizi var.Geçici dizi 26karakter olsun dediniz. Ben 27karakterden birini silince diğer diziyi nasıl kullanıcamki işime yarasın?Sonuçta 27lik diznin bir karakterini silmek sıkıntı.Aslında silinmiş olmuyor " " şeklinde boşluk oluyor yani yine 27 karakter var.26lık diziye sıymaaz.Bir yerleri yanlış mı anladım acaba?
Buna ek olarak nedense şu kod hata verir oldu
for (int i = 0; i < harfler.Length; i++) { // Rastgele 27harfi(26harf+gülücük) farklı şekilde bul. int randomletter=rnd.Next(65,92); for (int j = 0; j <harfler.Length ; j++) { if(harfler[j]==(char)randomletter) i--;
else harfler[i]=(char)randomletter; } }
Bir torbadan 27 harf çekilecek ancak çekilen harf geri konmuyacak.Proplem aşağı yukarı bu. Neden çalışmadığını anlamadım Dizin,dizi sınırlarının dışındaydı diye hata veriyor
Edit sorunu hallettim;
for (int i = 0; i < harfler.Length; i++) { int randomletter = rnd.Next(65, 92); for (int j = 0; j <=i; j++) { if (harfler[j] == (char)randomletter) { i--; flag = false; break; } } if(flag) harfler[i] = (char)randomletter;
}
< Bu mesaj bu kişi tarafından değiştirildi jahrekimla -- 24 Kasım 2016; 23:34:50 >
char[] harfler=new char[5];
sonra random olarak 5 harfi bu diziye yerleştirmem lazım
for (int i = 0; i < harfler.Length; i++)
harfler=(char)rnd.Next(65,91);
Ancak harfler farklı olmalı,Bunu nasıl yapabilirim?
örneğin [A C Z F C] olamaz
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi jahrekimla -- 24 Kasım 2016; 23:16:47 >
Bu mesajda bahsedilenler: @Microsoft Specialist