Int tipinde ve elemanları sadece 0 ve 1 'dan oluşan bir dizi ele alalım. En fazla kaç adet yanyana bir var bunu bulmaya çalışalım.
int[] sayilar = { 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 };
int max = 0, sayac = 0;
for (int i = 0; i < sayilar.Length; i++)
{
if (sayilar[i] == 1)
{
sayac++;
}
else
{
if (sayac > max)
{
max = sayac;
}
sayac = 0;
}
}
Console.WriteLine(max);
Console.ReadKey();
For döngüsü kullanarak dizideki elemanları geziyorum. Eleman 1'e eşit ise sayac'ı 1 arttırıyorum. Bu örnek de bir adet sayaç değişkeni kullanmalıyım. Yanyana olan 1'leri sayar. 0 ile karşılaştığında önceden bulduğu max'dan büyükse, değerini maz'a atar. Değilse kendini sıfırlar ve 1 bulana kadar kendini arttırmaz.
Hiç yorum yok:
Yorum Gönder