C# Array.Sort kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
C# Array.Sort kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Nisan 2013 Çarşamba

108 - Metod Kullanımı... Rastgele Atanan 10 Sayıyı Metod İle Pozitif Sayı Yapmak ve Sıraya Dizmek...


Bir döngü ile 10 sayı atama işlemi yaptıracağız... Bu atanan sayılardan her birini metoda gönderiyoruz ve sayının pozitif olarak geri dönmesini bize sağlıyor... Sıraya dizme işlemi için en kestirme yol Array.Sort komutudur... Bunu kullanabilmek için sayıları diziye altık ve aldığımız bu sayıları sıraladık... Sıralama işleminden sonra ise gosterdizi adındaki metod ile dizinin içeriğini tamamen göstermiş olduk... 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        public static int[] sayidizi = new int[10]; // Genel bir dizi tanımlıyoruz... Her yerde kullanılabiliyor...

        // Sayıları pozitife çevirmek için metoda gönderiyoruz... Burada sayıları kontrol ettiriyoruz... 
        static void pozitif(int gelensayi , int diziindex) 
        {
            if (gelensayi < 0)
                sayidizi[diziindex] = Math.Abs(gelensayi);
            else
                sayidizi[diziindex] = gelensayi;
        }

        // Metoda dizi gönderdik... Bu metodun amacı dizideki sayıları ekranda göstermek...  
        static void gosterdizi(int[] gelendizi)
        {
            foreach (int i in gelendizi)
                Console.WriteLine(i);
        }

        static void Main(string[] args)
        {
            Random x = new Random();
            for (int i = 0; i < 10; i++) // 10 sayı girdiriyoruz... 
            {
                int sayi = x.Next(-100, 100);
                pozitif(sayi,i); // Sayıyı kontrol ettirmek için metoda gönderiyoruz... Aynı zamanda dizinin index numarasını da gönderiyoruz... 
            }
            Array.Sort(sayidizi); // Sayıları sıraya diziyoruz... 
            gosterdizi(sayidizi); // Dizinin içindeki sayıları gösteriyoruz... 

            Console.ReadKey();
        }
    }
}

Bu yaptığımız uygulamada negatif sayıları çeviren bir metod da eklenebilir... Hatta kullanıcıya sayıları negatife mi yoksa pozitife mi çevirmek istiyorsunuz diye tercih de yaptırılabilir...

1 Nisan 2013 Pazartesi

77 - Diziler... 3 Dersin Notları... Array.Sort



Aşağıdaki örnekte çok boyutlu diziler kullanılsaydı işlemimiz daha kolay olurdu... Ama amaç algoritma yapısı ve mantık geliştirmek olunca böyle bir yöntemle de çok boyutlu diziler kullanılmadan işlemler yapılabilir... 

Bu arada Array.Sort kullanımına da örnek verdik... Bu komut verilen diziyi sıraya diziyor... Yani bundan önceki yaptığımız örneklerdeki sıralama işlemlerinde bunu kullansaydık tek satır komut ile sıraya dizmiş olurduk... C# bize hazır olarak bunu sağlıyor... Ama ilk öğrenim aşamasında hazırdan kaçınmanızı tavsiye ederim... Dediğimiz gibi amaç mantık geliştirmek... Yoksa 3 dersin notunu hesaplatsak ne olur, hesaplatmasak ne olur... 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {// Diziler...: Bir aralıkta aynı olan değerleri tutmak için kullanılır... 
         // 1 öğrencinin 3 dersten aldığı 2 yazılı ve 1 sözlü notu ile ilgili bilgiler...
         // 0-2 arası ingilizce dersi, 3-5 arası türkçe dersi, 6-8 arası notlar almanca dersi
            int [] sinavlar = new int[9];
            string[] ders=new string []{"ingilizce","türkçe","almanca"};
            string dersadi = "ingilizce";

            int[] ort = new int[3];
            int sira=1;

            for (int k = 0; k <= 8; k++)
            {
                if (k == 0)             // bu derslerin isimlerini alacak olan kısım
                    dersadi = "ingilizce";
                else if (k == 3)
                    dersadi = "türkçe";
                else if (k == 6)
                    dersadi = "almanca";

                // sınav notlarının girildiği alan
                Console.Write(dersadi + " dersinin " + sira + ". sınav notunu giriniz");
                sinavlar[k] = int.Parse(Console.ReadLine()); 
                if (sira == 3) // ders ismini burada değiştiriyoruz...
                    sira = 0;
                sira++;
            }

            // ortalamaları hesaplıyoruz...
            int i = 0;
            for (int k = 0; k <= 8;k=k+3)
            {
                ort[i] = (sinavlar[k] + sinavlar[k + 1] + sinavlar[k + 2])/3;
                i++;
            }

            // ortalama sonuçlarını ekranda gösteriyoruz...
            int j=0;
            foreach (int oku in ort)
            {
                Console.WriteLine(ders[j]+ " dersinin ortalaması = " + oku);
                j++;
            }

            // En yüksek ve en düşük not
            int enyuk = sinavlar[0];
            int endus=sinavlar[0];
            foreach (int oku in sinavlar)
            {
                if (oku > enyuk)
                    enyuk = oku;

                if (oku < endus)
                    endus = oku;
            }
            Console.WriteLine("En yüksek notlar: " + enyuk);
            Console.WriteLine("En yüksek notlar: " + endus);

            // Sıraya dizme komutu... Sort...
            Array.Sort(sinavlar);
            foreach (int oku in sinavlar)
                Console.Write("Notlar: " + oku + " ");

            Console.ReadKey();
        }
    }
}

76 - Diziler... Array.Sort Kullanımı...


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            /*Parametre olarak verilen dizinin elemanlarını küçükten büyüğe sıralar. Eğer dizi
             * numerik ise rakamların büyüklüğüne göre, yazı tiplerinde ise baş harflerine göre sıralanır.
             */
            int[] sayilar = new int[5];
            int i = 0;
            for (i = 0; i < 5; i++)
            {
                Console.Write(i + 1 + ". Sayıyı Giriniz :");
                sayilar[i] = Convert.ToInt32(Console.ReadLine());
            }

            Array.Sort(sayilar); // Diziyi sıralıyor... 

            Console.WriteLine("");
            Console.WriteLine("Sıralanmış Halleri: ");
            foreach (int sayi in sayilar) // Dizinin sıralanmış hali listeleniyor... 
                Console.Write(sayi + " ");

            Console.ReadKey();
        }
    }
}