c# yardım

celladd

Katılımcı Üye
4 Kas 2014
377
0
Mersin
1. soru: girilen sayının basamak karesini bulan program c#
2.soru:texbox girilen tc numarasının içinde kaç tane 5 olduğunu bulan program

yardım edebilecek varmı
 

Sd1eewDEWG156d

Kıdemli Üye
26 Nis 2013
2,406
0
1. soruyu biraz daha açar mısın?
2. soruyu şu şekilde halledebilirsin;

Kod:
int [COLOR="red"]kaçKereOlduğu[/COLOR] = [COLOR="Red"]textBox1[/COLOR].Split('[COLOR="Red"]5[/COLOR]').Length - 1;
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
4
390
Ankara
1. Girilen sayı nasıl giriliyor? mesela diyelim, osman içindeki değişkende "int" olarak sayımız var.

Kod:
int sonuc=0;
while (osman>0) {
 int sonBasamak=osman%10;
 gecici+=sonBasamak*sonBasamak;
 osman/=10; //son basamağı çıkarmaya gerek yok. int değerleri arasındaki
                  //bölmelerde sonuç zaten aşağı yuvarlanır.
}

2. Bunun için bin yol var.
Kod:
//1. Regex
return new System.RegularExpressions.Regex("5").Matches(tcNo.Text).Count;
//2. LINQ Count
return tcNo.Text.Count(f=>f=='5');
//3. LINQ ForEach
int miktar=0;
tcNo.Text.ForEach(f=>miktar+=(f=='5'?1:0));
return miktar;
//4. split ediverirsin;
return tcNo.Text.Split('5').Length-1;
//5. foreach ile sayarsın
int miktar=0;
foreach (char karakter in tcNo.Text) if (karakter=='5') miktar++;
return miktar;
En hızlısı foreach ile sayma olacaktır. En geçerli algoritma odur. Ama canın isterse bin türlü fantazi ile bulursun.
 
Son düzenleme:

celladd

Katılımcı Üye
4 Kas 2014
377
0
Mersin
1. soruyu biraz daha açar mısın?
2. soruyu şu şekilde halledebilirsin;

Kod:
int [COLOR="red"]kaçKereOlduğu[/COLOR] = [COLOR="Red"]textBox1[/COLOR].Split('[COLOR="Red"]5[/COLOR]').Length - 1;

hocam 1 soru bir sayı girilecek farketmez sayının değeri girelen sayının basamak kareleni alacak

2. soru biraz daha açabilirmisiniz döngü felan kullanmama gerek varmı
 

celladd

Katılımcı Üye
4 Kas 2014
377
0
Mersin
1. Girilen sayı nasıl giriliyor? mesela diyelim, osman içindeki değişkende "int" olarak sayımız var.

Kod:
int sonuc=0;
while (osman>0) {
 int sonBasamak=osman%10;
 gecici+=sonBasamak*sonBasamak;
 osman/=2; //son basamağı çıkarmaya gerek yok. int değerleri arasındaki
                  //bölmelerde sonuç zaten aşağı yuvarlanır.
}

2. Bunun için bin yol var.
Kod:
//1. Regex
return new System.RegularExpressions.Regex("5").Matches(tcNo.Text).Count;
//2. LINQ Count
return tcNo.Text.Count(f=>f=='5');
//3. LINQ ForEach
int miktar=0;
tcNo.Text.ForEach(f=>miktar+=(f=='5'?1:0));
return miktar;
//4. split ediverirsin;
return tcNo.Text.Split('5').Length-1;
//5. foreach ile sayarsın
int miktar=0;
foreach (char karakter in tcNo.Text) if (karakter=='5') miktar++;
return miktar;
En hızlısı foreach ile sayma olacaktır. En geçerli algoritma odur. Ama canın isterse bin türlü fantazi ile bulursun.

hocam 1. soru girilen değer int olacak
 

Sd1eewDEWG156d

Kıdemli Üye
26 Nis 2013
2,406
0
hocam 1 soru bir sayı girilecek farketmez sayının değeri girelen sayının basamak kareleni alacak

2. soru biraz daha açabilirmisiniz döngü felan kullanmama gerek varmı

1. soruyu sanırım gene anlayamadım. Yani örneğin girdiğiniz sayı 15
Bu sayı 2 basamaklı olduğu için bu 2'nin mi karesini alıyoruz yoksa,
İlk önce 1'in karesini daha sonra 5'nin karesini alıyoruz yada,
Son basamağın mı karesini alıyoruz?

Yok hocam direk bunu hangi butona tıkladığınızda bu işlemi yapacak ise o butonun içine yapıştırın. kaçKereOlduğu adındaki int size textBox1'de bulunan T.C. Kimlik Numarası'nda bulunan sayıda kaç kere 5 olduğunu verir.
 

celladd

Katılımcı Üye
4 Kas 2014
377
0
Mersin

1. soruyu sanırım gene anlayamadım. Yani örneğin girdiğiniz sayı 15
Bu sayı 2 basamaklı olduğu için bu 2'nin mi karesini alıyoruz yoksa,
İlk önce 1'in karesini daha sonra 5'nin karesini alıyoruz yada,
Son basamağın mı karesini alıyoruz?

Yok hocam direk bunu hangi butona tıkladığınızda bu işlemi yapacak ise o butonun içine yapıştırın. kaçKereOlduğu adındaki int size textBox1'de bulunan T.C. Kimlik Numarası'nda bulunan sayıda kaç kere 5 olduğunu verir.

İlk önce 1'in karesini daha sonra 5'nin karesini alıyoruz yada,
Son basamağın mı karesini alıyoruz?

hocam aynen böyle olacak
 
Üst

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.