C# Dizilerde Sıralama Console Application

C# Programlar Ahmet Şenlik 46.840 kez görüntülendi.

C# Dizilerde Sıralama Console Application 

Dizilerde sıralama yapmanın 2 yolu var arkadaşlar bu yazıda bu iki yoldan da bahsedeceğiz.

1. Yol

İç içe yazacağımız for döngüleri ve if kontrol deyimi ile basit bir işlem yaparak sıralayabiliriz.
Örnek: Girilen 5 Adet sayıyı büyükten küçüğe doğru sıralayalım.

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

namespace sayilari_siralama
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] sayilar = new int[5];
            int gecici;
            Console.WriteLine("\n-----www.technoprogram.com-----\n");
            for (int i = 0; i<5; i++)
            {
                Console.Write("Sayıyı giriniz..:");
                sayilar[i] = Convert.ToInt32(Console.ReadLine());

            }
            for (int i = 0; i < 5; i++)
            {
                for (int t = 0; t < 5; t++)
                {
                    if (sayilar[t] < sayilar[i])
                    {

                        gecici = sayilar[i];

                        sayilar[i] = sayilar[t];

                        sayilar[t] = gecici;

                    }
                }
            }
            foreach (int i in sayilar)
            {

                Console.WriteLine("{0}", i);

            }
            Console.ReadKey();
        }
    }
}



Arkadaşlar bu örnekte büyükten küçüğe sıralamayı gösterdim eğer ki küçükten büyüğe sıralamak isterseniz 26. satırdaki

if (sayilar[t] < sayilar[i])

kod üzerinde “<” işaretini “>” işareti ile değiştirmeniz yeterlidir.

if (sayilar[t] > sayilar[i])

2. Yol

Örnek: Girilen 5 Adet sayıyı metot kullanarak büyükten küçüğe doğru sıralayalım.

Dizilerde sıralama yapmak için Array sınıfının Sort metodunu kullanırız.

Sort metodu bir dizideki elamanları küçükten büyüğe sıralamamızı sağlar. Bu metodun 2 kullanım biçimi vardır.
1.

Array.Sort(sayilar)

2.

Array.Sort(sayilar,4,2)//sayilar dizisi, 4.elemandan itibaren,2 elamanı küçükten büyüğe sıralar

Dizi sıralamasını ters çevirmek içinde Array sınıfının Reverse metodunu kullanırız.

Reverse metodu sıralamayı ters çevirir. Sort metodu gibi 2 kullanım biçimi vardır ve bire bir aynıdır.
1.

Array.Reverse(sayilar)

2.

Array.Reverse(sayilar,4,2)//sayilar dizisi, 4.elemandan itibaren,2 elamanın sıralamasını ters çevirir


Not: Dizilerin ilk elemanı 0. elemandır.

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

namespace sayilari_siralama
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] sayilar = new int[5];
            Console.WriteLine("\n-----www.technoprogram.com-----\n");
            for (int i = 0; i<5; i++)
            {
                Console.Write("Sayıyı giriniz..:");
                sayilar[i] = Convert.ToInt32(Console.ReadLine());

            }
            Array.Sort(sayilar);//küçükten büyüğe sıralıyoruz
            Array.Reverse(sayilar);//sıralanmış diziyi ters çevirip büyükten küçüğe sıralanmış dizi elde ediyoruz.
            foreach (int i in sayilar)
            {

                Console.WriteLine("{0}", i);

            }
            Console.ReadKey();
        }
    }
}

Diziyi küçükten büyüğe sıralamak isterseniz 22. satırdaki

Array.Reverse(sayilar);

kodunu kaldırmanız yeterlidir.

dizilerde_sıralama

Kocaeli Üniversitesinde Bilgisayar Programcılığı okudum DGS ile 2016 yılında Sakarya Üniversitesi Bilgisayar mühendisliğini kazandım. Yazılımla uğraşmayı çok seviyorum bu alanda kendimi daha da geliştirmeyi düşünüyorum. Eğer siz de seviyorsanız bu işi devam edin başlamadıysanız başlayın başaracağınıza inanın. 🙂

Sosyal Ağlarda Paylaş

“C# Dizilerde Sıralama Console Application” üzerine 2 yorum

  1. İsim dedi ki:

    sayıyı 5 tane girmek yerine nasıl 10 tane ye çevirebiliriz ?

    1. Ahmet Şenlik dedi ki:

      5 yazan yerlere 10 yazacaksın bu kadar

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir