Csharp Programlama Dili ile Diziler Bölüm3

Daha önceki makalelerde Dizilere Giriş yapmış ve Diziler üzerine farklı örnekler çözmüştük. İlk bölümleri okumadıysanız aşağıdaki linklerden takip edebilirsiniz.


Bir dizideki en büyük elemanı C# Programlama Dili ile bulunuz

Bir dizideki en büyük elemanı bulmak için, dizinin ilk elemanını en büyük olarak kabul ediyoruz. Aşağıdaki kod satırında bu işlemi görmektesiniz. Dizinin ilk elemanının 0'dan başladığını unutmayın.

int enbuyuk = dizi[0];

Daha sonra dizinin elemanları arasında for döngüsü ile baştan sona dolaşıp, enbuyuk değerinden daha büyük bir değer olup olmadığına bakıyoruz, bulursak yer değiştiriyoruz.

if (enbuyuk < dizi[i])
enbuyuk = dizi[i];

Aşağıda programın tamamı yer almaktadır.
 
using System;
 
namespace diziEnBuyuk
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = { 5, 3, 8, 1, 34, 6, 9 };
            int enbuyuk = dizi[0];
 
            for (int i=0;i<dizi.Length; i++)
            {
                if (enbuyuk < dizi[i])
                    enbuyuk = dizi[i];
 
            }
            Console.WriteLine(enbuyuk);
 
        }
    }
}

Yukarıdaki programı çalıştırdığınızda; dizideki en büyük değer olan 34 değerini elde edeceksiniz. 

Şimdi biraz daha örneğimizi geliştirelim. Bir dizinin içindeki en büyük ve en küçük elemanı tek döngü kullanarak nasıl buluruz? 

using System;
 
namespace diziEnBuyuk
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = { 5, 3, 8, 1, 34, 6, 9 };
            int enbuyuk = dizi[0];
            int enkucuk = dizi[0];
     
 
            for (int i=0;i<dizi.Length; i++)
            {
                if (enbuyuk < dizi[i])
                    enbuyuk = dizi[i];
 
                if (enkucuk > dizi[i])
                    enkucuk = dizi[i];
 
            }
         
         Console.WriteLine("En büyük: {0}",enbuyuk);
         Console.WriteLine("En küçük: {0}", enkucuk);
 
 
        }
    }
}
 

Şimdi de farklı bir örnek yapalım, bir sayı dizisi içindeki tek sayıları tek dizisine, çift sayıları çift dizisine atayalım.


using System;
 
namespace TekCiftDizi
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = {5,9,2,3,11,7,8,10};
            int[] cift = new int[5];
            int[] tek = new int[5];
            int j=0, k=0;
 
            for (int i=0; i<dizi.Length; i++)
            {
                Console.WriteLine(dizi[i]);
                if (dizi[i]%2==0)
                {
                    cift[j] = dizi[i];
                    j++;
                }
                if (dizi[i]%2==1)
                {
                    tek[k] = dizi[i];
                    k++;
                }
            }//for döngüsü bitti
 
            Console.WriteLine("=== Çift ===");
            for (int t = 0; t < cift.Length; t++)
                Console.WriteLine(cift[t]);
           
            Console.WriteLine("=== Tek ===");
            for (int s = 0; s < tek.Length; s++)
                Console.WriteLine(tek[s]);
       }
    }
}

Aşağıda programı çalıştırdığınızda elde edilen sonucu görmektesiniz. 


Soru: Bir dizinin içindeki tek sayıların toplamı, çift sayıların toplamından çıkararak sonucu yazınız.

using System;
 
 
namespace DiziCiftTekFarki
{
    class Program
    {
        static void Main(string[] args)
        {
            //Bir dizinin elemanlarından çift olanları 
            //toplayıp, tek olanlardan çıkarınız
 
            int[] dizi = { 3, 6, 7, 9, 5, 4, 11 };
            int cifttoplam=0, tektoplam=0;
            for (int i=0; i<dizi.Length; i++)
            {
                if (dizi[i] % 2 == 0)
                    cifttoplam += dizi[i];
 
                else if(dizi[i] %2 ==1)
                    tektoplam += dizi[i];
            }
            int fark = tektoplam - cifttoplam;
          Console.WriteLine("Tek:{0}, Çift:{1}, Fark:{2}",tektoplam, cifttoplam, fark);
 
 
        }
    }
}



Soru: Bir dizinin içindeki elemanların kareleri toplamını bulunuz.

using System;
 
namespace DiziKareToplam
{
    class Program
    {
        static void Main(string[] args)
        {
 
            int[] dizi = { 2, 3, 5, 4 };
            double kareToplam = 0;
 
            for (int i = 0; i < dizi.Length; i++)
            {
                kareToplam += Math.Pow(dizi[i], 2);
            }
            Console.WriteLine(kareToplam);
        }
    }
}


Mutlu Kodlamalar,
Oğuzhan TAŞ
Mart, 2015

Bookmark and Share