C# ile Bubble Sort

Visual C#.NET ile yapılan bir bubble sort sıralama örneği...
Kod yazımı bana aittir...
Console application için güzel bir örnek
döngü ve dizi kavramlarını ayrıca sıralama mantığını öğrenebilirsiniz

using System;

namespace fatura
{
///
/// Summary description for Class1.
///

class Class1
{
///
/// The main entry point for the application.
///

[STAThread]
static void Main(string[] args)
{
// Değişkenleri tanımladık //
string yedek_isimler, ara;
double yedek_fatura;
byte sayac, hane_sayisi;
bool degisim;
string[] ad, soyad;
int[] harcama;
double[] fatura;
ad = new string[30];
soyad = new string[30];
harcama = new int[30];
fatura = new double[30];

degisim = true;
hane_sayisi = 4; // 0'dan 4'e 5 tane hane var toplamda...

// Bütün hanelerin bilgilerini aldık //
for (sayac = 0; sayac <= hane_sayisi; sayac += 1)
{
Console.WriteLine((sayac + 1) + ". Haneye ait bilgiler:");
Console.Write("İsim:");
ad[sayac] = Console.ReadLine();
Console.Write("Soyisim:");
soyad[sayac] = Console.ReadLine();
Console.Write("Harcama miktarı:");
ara = Console.ReadLine();
harcama[sayac] = Convert.ToInt32(ara);
}

Console.WriteLine();

// Faturaları hesaplattık //
for (sayac = 0; sayac <= hane_sayisi; sayac += 1)
{
//fatura[sayac] = 0;
if (harcama[sayac] > 500)
{
harcama[sayac] = harcama[sayac] - 500;
fatura[sayac] = fatura[sayac] + (harcama[sayac] * 1);
harcama[sayac] = 500;
}
if (harcama[sayac] > 250)
{
harcama[sayac] = harcama[sayac] - 250;
fatura[sayac] = fatura[sayac] + (harcama[sayac] * 1.5);
harcama[sayac] = 250;
}
if (harcama[sayac] > 100)
{
harcama[sayac] = harcama[sayac] - 100;
fatura[sayac] = fatura[sayac] + (harcama[sayac] * 2) + (100 * 2.5);
}
else
{
fatura[sayac] = harcama[sayac] * 2.5;
}
}

// Faturaları sıralattık //
while (degisim == true)
{
degisim = false;
for (sayac = 0; sayac <= hane_sayisi - 1; sayac += 1)
{
if (fatura[sayac] > fatura[sayac + 1])
{
degisim = true;

yedek_fatura = fatura[sayac];
fatura[sayac] = fatura[sayac + 1];
fatura[sayac + 1] = yedek_fatura;

yedek_isimler = ad[sayac];
ad[sayac] = ad[sayac + 1];
ad[sayac + 1] = yedek_isimler;

yedek_isimler = soyad[sayac];
soyad[sayac] = soyad[sayac + 1];
soyad[sayac + 1] = yedek_isimler;
}
}
}

// Faturaları ekrana yazdırdık sıralı bir şekilde //
for (sayac = 0; sayac <= hane_sayisi; sayac += 1)
{
Console.WriteLine(fatura[sayac] + " " + ad[sayac] + " " + soyad[sayac]);
}
Console.ReadLine();
}
}
}

Hiç yorum yok:

Yorum Gönder