C# Dizi işlemleri ve Uygulamaları

1) Piramit Örneği yapalım.


          Console.WriteLine("Selam Dostt Ben oktay Kaç katlı Piramit olsun...");
            int alttaban = Convert.ToInt32(Console.ReadLine());

            for (int i = 0; i < alttaban; i++)
            {

                for (int k = i; k < alttaban; k++)
                {
                    Console.Write(" ");
                }

                for (int j = 2 * i + 1; j > 0; j--)
                {
                    Console.Write("*");
                }
                Console.WriteLine("");


2) Try Catch kullanımını yapalım. 2 Sayı isteyelim şayet kullanıcı int yerine farklı karakter girerse catch alanına düşsün ve bizden integer değer girmeniz istensin.(Kod kısa olduğu için yazmadım :D )




3) Try - Catch- Finally yapısını kullanarak bir örnek yapalım burada finally yapısı dediğimiz program ister try da ister catch e düşsün her durumda sonradan çalışmasını istediğim iş parçacığıdır.
Bu örnek için finally alanında bir tuşa bastığında çık işlevi verilsin.




4) Klavyeden girilen iki notu 5 lik sistemde yazdıran program.






            Console.WriteLine("vize Giriniz");
            int vize = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("final Giriniz");
            int final = Convert.ToInt32(Console.ReadLine());

            float ort = (vize + final) / 2;

            if (ort >= 85 && ort <= 100)
            {
                Console.WriteLine("5");
            }
            else if (ort >= 70 && ort <= 84)
            {
                Console.WriteLine("4");
            }
            else if (ort >= 50 && ort <= 69)
            {
                Console.WriteLine("3 Geçme Notu");
            }
            else if (ort >= 45 && ort <= 49)
            {
                Console.WriteLine("2");
            }
            else if (ort >= 45 && ort <= 49)
            {
                Console.WriteLine("2");
            }
            else if (ort >= 25 && ort <= 44)
            {
                Console.WriteLine("1");
            }
            else if (ort >= 0 && ort <= 24)
            {
                Console.WriteLine("0");
            }
            else
            {
                Console.WriteLine("Taşma oldu değerleri kontrol ediniz...");
            }

            Console.ReadLine();


          yazım şekli
                            switch(ifade)
                            {
                                case sabit1:   kodlar    break;
                                case sabit2:   kodlar    break;
                                default :   kodlar    break;
yazım şekli
switch(ifade)
{
case sabit1: kodlar break;
case sabit2: kodlar break;
default : kodlar break;

}


switch case blogu if else yapısında/mantıgında çalışır şartlı işlemlerle tercih edilir coklu sartlarda if else kalıbındansa swith case kalıbı
daha performanslıdır.
Kuralları : Break ile sonlandırılmalıdır. Eger koşulların hic biri sağlanmazsa default blogu calısır.
eger kosuldan sonra ıkı nokta ust uste (:) işareti kullanılır
Eger kosul saglandığında baska bır case blogu kullanılacaksa goto komutu kullanılır.


5) Urun adı verilip fiyatını switch case yapısı ile öğrenelim.




6) TC Kimlik no algoritmasın yazalım eğer bu algoritmanın kuralını bilmiyorsanız bu örneği daha sonra inceleyebilir yada algoritmayı öğrenip yazabilirsiniz.
try
            {
                 
                 
                  Console.WriteLine("Tc Kimlik Noyu Giriniz:");
                  string tcNo = Console.ReadLine();
                  //int kontrol = Convert.ToInt32(tcNo);
                  int toplam = 0; int toplam2 = 0; int toplam3 = 0;
                  int top = 0;
                  if (tcNo.Length == 11)
                  {
                      if (Convert.ToInt32(tcNo[0].ToString()) != 0)
                      {

                          toplam2 = (Convert.ToInt32(tcNo[0].ToString()) + Convert.ToInt32(tcNo[2].ToString()) + Convert.ToInt32(tcNo[4].ToString())
                              + Convert.ToInt32(tcNo[6].ToString()) + Convert.ToInt32(tcNo[8].ToString())) * 7;
                          toplam3 = (Convert.ToInt32(tcNo[1].ToString()) + Convert.ToInt32(tcNo[3].ToString()) + Convert.ToInt32(tcNo[5].ToString()) + Convert.ToInt32(tcNo[7].ToString()));
                          toplam = (toplam2 - toplam3) % 10;



                          if (Convert.ToInt32(tcNo[9].ToString()) == toplam)
                          {
                              top = (Convert.ToInt32(tcNo[0].ToString()) + Convert.ToInt32(tcNo[1].ToString()) + Convert.ToInt32(tcNo[2].ToString())
                                  + Convert.ToInt32(tcNo[3].ToString()) + Convert.ToInt32(tcNo[4].ToString())
                                  + Convert.ToInt32(tcNo[5].ToString()) + Convert.ToInt32(tcNo[6].ToString())
                                  + Convert.ToInt32(tcNo[7].ToString()) + Convert.ToInt32(tcNo[8].ToString())
                                  + Convert.ToInt32(tcNo[9].ToString())) % 10;
                              if (Convert.ToInt32(tcNo[10].ToString()) == top)
                              {
                                  Console.WriteLine("TC DOĞRU");
                              }
                              else
                              {
                                  Console.WriteLine("TC yanlış");
                              }

                          }
                          else
                          {
                              Console.WriteLine("TC yanlış");

                          }
                      }
                  }
                  else
                  {
                      Console.WriteLine("TC uzun yada kısa girildi.");
                  }
            }
            catch (FormatException)
            {
                Console.WriteLine("Girdiğiniz değer sayısal bir değer değil");

            }

C# DİZİ İŞLEMLERİ :

  Diziler:değişkenler içerisinde tek bir değer tutabilen yapılardır.

             dizi tanımı:
             string [] mevsimler =new string[4];
             int [] sayi= new int[10]; şeklinde tanımlanır.
             
            string[] meyvimler2;
            meyvimler2 = new string[4];
           
             //diziye,tanımlama sırasında deger atma ;
             int [] sayilar3= new int [4] {5,8,4,1};
             int [] sayilar4= new int [] {4,5,8};
             int [] sayilar5= {4,5,6};
           
             string [] mevsimler =new string[4] {"İlkbahar","Yaz","Sonbahar","Kış"};
           
            // diziyi tanımladıkktan sonra değer atamak
               string [] gun=new string[7];
               gunler[0]="Pazartesi";
              Console.WriteLine(dizi[0]);

**array.sort ve array reverse
array.sort ve array rever ile sıralama ve ters çevirme
 string[] gunler = new string[7];
            gunler[0] = "Pazartesi";
            gunler[1] = "Salı";
            gunler[2] = "Çarşamba";
            gunler[3] = "Perşembe";
            gunler[4] = "Cuma";
            gunler[5] = "C.tesi";
            gunler[6] = "Pazar";

            Array.Sort(gunler);
              //Tersten sıralama Array.Reverse(gunler);
           
            Console.WriteLine(gunler[0]);
            Console.WriteLine(gunler[1]);
            Console.WriteLine(gunler[2]);
            Console.WriteLine(gunler[3]);
            Console.WriteLine(gunler[4]);
            Console.WriteLine(gunler[5]);
            Console.WriteLine(gunler[6]);

** Array.Clear
   // belirli elemanları silmek için clear kullanılır
            string[] gunler = new string[7];
            gunler[0] = "Pazartesi";
            gunler[1] = "Salı";
            gunler[2] = "Çarşamba";
            gunler[3] = "Perşembe";
            gunler[4] = "Cuma";
            gunler[5] = "C.tesi";
            gunler[6] = "Pazar";

            Array.Clear(gunler,2,2); //gunlerden indexsi 2 ile 3. indexsi sildim


            Console.WriteLine(gunler[0]);
            Console.WriteLine(gunler[1]);
            Console.WriteLine(gunler[2]);
            Console.WriteLine(gunler[3]);
            Console.WriteLine(gunler[4]);
            Console.WriteLine(gunler[5]);
            Console.WriteLine(gunler[6]);

** Dizi kolonlama işlemi Clone
  string[] gunler = new string[7];
            string [] aktarilangunler =new string[7];
            gunler[0] = "Pazartesi";
            gunler[1] = "Salı";
            gunler[2] = "Çarşamba";
            gunler[3] = "Perşembe";
            gunler[4] = "Cuma";
            gunler[5] = "C.tesi";
            gunler[6] = "Pazar";


            aktarilangunler = (string[])gunler.Clone();

            Console.WriteLine(aktarilangunler[0]);
            Console.WriteLine(aktarilangunler[1]);
            Console.WriteLine(aktarilangunler[2]);
            Console.WriteLine(aktarilangunler[3]);
            Console.WriteLine(aktarilangunler[4]);
            Console.WriteLine(aktarilangunler[5]);
            Console.WriteLine(aktarilangunler[6]);

** Belirli günleri kopyalama işlemi Copy
 string[] gunler = new string[7];
            string [] yenigunler=new string[4];

            gunler[0] = "Pazartesi";
            gunler[1] = "Salı";
            gunler[2] = "Çarşamba";
            gunler[3] = "Perşembe";
            gunler[4] = "Cuma";
            gunler[5] = "C.tesi";
            gunler[6] = "Pazar";

           //Array.Copy(gunler, yenigunler, 5); //bu şekilde haftanın ilk 5 gününü çekiyoruz.
         
            Array.Copy(gunler,5,yenigunler,0,2); // hafta sonlarını çağırmak için 5 indexsi ctesi seçip bunu ilk index al ve bunun iki elemanını çağır.

            Console.WriteLine(yenigunler[0]);
            Console.WriteLine(yenigunler[1]);

** copyto
 #region copyto:kaynak diziyi hedef diziye n. elemandan itibaren kopyalar

            string[] gunler = new string[7];
            string[] yenigunler = new string[8];

            gunler[0] = "Pazartesi";
            gunler[1] = "Salı";
            gunler[2] = "Çarşamba";
            gunler[3] = "Perşembe";
            gunler[4] = "Cuma";
            gunler[5] = "C.tesi";
            gunler[6] = "Pazar";

            yenigunler[0] = "Yaz";
            yenigunler[3] = "Kış";

            //gunlerım yenıgunlerdızısıne aktarılsın
            gunler.CopyTo(yenigunler, 1);

            Console.WriteLine(yenigunler[0]);
            Console.WriteLine(yenigunler[1]);
            Console.WriteLine(yenigunler[2]);
            Console.WriteLine(yenigunler[3]);
            Console.WriteLine(yenigunler[4]);
            Console.WriteLine(yenigunler[5]);
            Console.WriteLine(yenigunler[6]);
            Console.WriteLine(yenigunler[7]);

            #endregion

** indexof  true yada false değer verir (-1, 0 )
  //dizilerde arama işlemi için Array sınıfında indexof metdou kullanılır.

            string[] aylar = { "ocak", "şubat", "mart", "nisan", "mayıs" };


            string girilen;
            int donecekdeger;

            Console.WriteLine("aradığınız günü giriniz = ");
            girilen = Console.ReadLine();

            //donecekdeger =Convert.ToInt32(Array.IndexOf(aylar, girilen));
            //Console.WriteLine("index numarası {0}",donecekdeger);

            donecekdeger = Convert.ToInt32(Array.IndexOf(aylar, girilen, 2));
            Console.WriteLine("index numarası {0}", donecekdeger);  */

**

7) Sayıyı yazıya Çevirme işlemi
 Console.WriteLine("Değeri Gir");
            int sayi = Convert.ToInt32(Console.ReadLine());

            int yuzBas, onBas, birBas;

            string yuzler = "";

            string onlar = "";

            string birler = "";

            yuzBas = sayi / 100;

            sayi = sayi % 100;

            onBas = sayi / 10;

            sayi = sayi % 10;

            birBas = sayi;

            switch (yuzBas)
            {

                case 1: yuzler = "Yüz"; break;

                case 2: yuzler = "İki Yüz"; break;

                case 3: yuzler = "ÜçY üz"; break;

                case 4: yuzler = "Dört Yüz"; break;

                case 5: yuzler = "Beş Yüz"; break;

                case 6: yuzler = "Altı Yüz"; break;

                case 7: yuzler = "Yedi Yüz"; break;

                case 8: yuzler = "Sekiz Yüz"; break;

                case 9: yuzler = "Dokuz Yüz"; break;

            }

            switch (onBas)
            {

                case 1: onlar = "On"; break;

                case 2: onlar = "Yirmi"; break;

                case 3: onlar = "Otuz"; break;

                case 4: onlar = "Kırk"; break;

                case 5: onlar = "Elli"; break;

                case 6: onlar = "Altmış"; break;

                case 7: onlar = "Yetmiş"; break;

                case 8: onlar = "Seksen"; break;

                case 9: onlar = "Doksan"; break;

            }

            switch (birBas)
            {

                case 1: birler = "Bir"; break;

                case 2: birler = "İki"; break;

                case 3: birler = "Üç"; break;

                case 4: birler = "Dört"; break;

                case 5: birler = "Beş"; break;

                case 6: birler = "Altı"; break;

                case 7: birler = "Yedi"; break;

                case 8: birler = "Sekiz"; break;

                case 9: birler = "Dokuz"; break;

            }

           


            Console.WriteLine(yuzler + onlar + birler);
           
            Console.ReadLine();







Hiç yorum yok:

Yorum Gönder