Csharp Programlama Dilinde Dizi Kullanımı Bölüm4

Soru: Verilen bir sayı dizisi içinde 4'e bölünen sayıları bulup ekrana yazdıran programı yazınız.

using System;
 
namespace DiziBolunebilme2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            int[] dizi = { 3, 11, 4, 15, 12, 1, 22, 33 };
 
            for (int i = 0; i < dizi.Length; i++)
            {
                if (dizi[i] % 4 ==0)
                Console.WriteLine(dizi[i]);
            }
 
        }
    }
}


 
Soru: Verilen bir dizi içinde dizi={3,11,4,15,12,1,22,33} dizisinin içinde 11'e bölünenleri bulup, başka bir diziye atan programı C# programlama dilinde yazınız. 

using System;
 
namespace DiziBolunebilme
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = { 3,11,4,15,12,1,22,33};
            int[] dizi2 = new int[10];
            int j=0;
 
            for (int i = 0; i < dizi.Length; i++)
            {
                if (dizi[i] % 11 ==0){
                    dizi2[j] = dizi[i];
                    j++;
                    }
            }
 
            for (int k = 0; k < dizi2.Length; k++)
                Console.WriteLine(dizi2[k]);
 
 
 
        }
    }
}



Sonra dikkat ederseniz ayrı bir j değişkeni kullanarak dizi2'nin indisini belirledik. 

Soru: Verilen bir tamsayı dizisindeki elemanların karelerini bulup, diğer bir diziye atan C# kodunu yazınız.

using System;
namespace DiziKareBul
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi1 = {1, 5, 3 ,4};
            int[] dizi2 = new int[dizi1.Length];
 
            for(int i=0; i<dizi1.Length; i++)
            {
                dizi2[i] = dizi1[i] * dizi1[i];
               //dizi2[i] = (int)Math.Pow(dizi1[i], 2); 
            }
 
            for (int i = 0; i < dizi2.Length; i++)
                Console.WriteLine(dizi2[i]);
 
        }
    }
}

Burada dizinin karesini bulmak için iki defa çarptık. C# programlama dilinde üst alma fonksiyonu olan Pow fonksiyonunu kullanarak da bu işlemi yapabilirdik. Math.Pow(2,3) ifadesi 2 üzeri 3 anlamına gelir.   Dolayısıyla,  dizi2[i] = (int)Math.Pow(dizi1[i], 2); şeklinde de yazabiliriz. 




Soru : Aşağıdaki gibi verilen İki dizinin aynı olup olmadığını kontrol ediniz.


  int[] dizi1 = { 5, 13, 20, 30, 15, 40 };
  int[] dizi2 = { 5, 13, 20, 30, 15, 40 };
 

using System;
 
namespace DiziEsitmi
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi1 = { 5, 13, 20, 30, 15, 40 };
            int[] dizi2 = { 5, 13, 20, 30, 15, 41 };
 
            int j=0;
            Boolean diziesit = true;
 
            for (int i =0; i< dizi1.Length; i++, j++)
            {
                if (dizi1[i] != dizi2[j])
                    diziesit = false;
 
            }
            if (diziesit == true)
                Console.WriteLine("Diziler eşit");
            else
                Console.WriteLine("Diziler eşit değil");
 
        }
    }
}

Dikkat ederseniz tek döngüyle problemi çözdük. for döngüsünde birinci dizinin tüm elemanlarını baştan sona dolaşıyoruz. Bu döngü içinde ikinci dizinin de elemanlarını dolaşmak için j değişkeni tanımladık  ve i değişkeni her arttığında j değişkenini de artırdık.

Boolean olarak diziesit adında bir değişken tanımladık ve ilk değerini True verdik. İki dizideki bir elaman bile diğerinden farklı olsa diziesit  değişkenin değeri "false" olacaktır. For döngümüz sonladıktan sonra if şartı ile diziesit değişkeninin durumuna bakıyoruz, değeri "true" ise "Dizi eşit" değeri "false" ise  "Dizi eşit değil" şeklinde yazdırıyoruz.

Mutlu Kodlamalar,
Oğuzhan TAŞ
Nisan, 2015
Bookmark and Share