C# Dizilerde Sıralama Console Application

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.

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();
}
}
}

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

Ahmet Şenlik

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. :)

You may also like...

6 Responses

  1. Yusuf dedi ki:

    Kullanıcı tarafından girilen 5 adet 3 basamaklı sayıyı büyükten küçüğe doğru sıralayarak ekrana yazan uygulamayı yazınız. Sorusunu cozmeye calisiyorum.”Sayı girişinden hemen sonra diziye sayı eklenmeden bu dediklerini if deyimi ile çözebilirsin.” dediginiz gibi yaptim ama kod donguye girmeden else bloguna dusuyor. Yardimci olabilir misiniz?

  2. Doğuş dedi ki:

    bunu nasıl en az 2 basamaklı yapabilirim ve tek basamaklı girilince nasıl mesaj yazdırabilirim ayrıca 100 den büyük sayı girildiğinde ekrana nasıl en büyük sayı 100 olabilir yazdırabilirim…

  3. İsim dedi ki:

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

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.