, ,

C# Algoritma Örnekleri: Temel Algoritmalarla Kodlama Pratiği

Posted by

Programlama dünyasında algoritmalar, problemleri çözmek veya belirli görevleri gerçekleştirmek için kullanılan temel adımlardır. C# programlama dili ile temel algoritmaları anlamak, daha karmaşık projeler geliştirmek için önemli bir adımdır. Bu yazıda, C# dilinde temel algoritma örnekleri ele alarak kodlama pratiği yapacağız.

c# algoritma örnekleri
  1. Faktöriyel Hesaplama

Bir sayının faktöriyelini hesaplayan algoritma örneği ile başlayalım. Kullanıcıdan alınan bir sayının faktöriyelini hesaplayan C# kodu:

int number = Convert.ToInt32(Console.ReadLine());
int factorial = 1;
for (int i = 1; i <= number; i++)
{
    factorial *= i;
}
Console.WriteLine($"Faktöriyel: {factorial}");

Bu örnek, kullanıcıdan alınan bir sayının faktöriyelini hesaplar. Bir sayının faktöriyelini hesaplamak için o sayıdan 1’e kadar olan sayıların çarpılması gerekmektedir. Örneğin, 5 faktöriyel (5!) = 5 * 4 * 3 * 2 * 1 = 120 olarak hesaplanır.

  1. Asal Sayı Kontrolü

Bir sayının asal olup olmadığını kontrol eden algoritma örneği:

int number = Convert.ToInt32(Console.ReadLine());
bool isPrime = true;
for (int i = 2; i <= Math.Sqrt(number); i++)
{
    if (number % i == 0)
    {
        isPrime = false;
        break;
    }
}
Console.WriteLine(isPrime ? "Asal" : "Asal değil");

Bu örnek, kullanıcıdan alınan bir sayının asal olup olmadığını kontrol eder. Bir asal sayı, yalnızca 1 ve kendisi olmak üzere sadece iki pozitif böleni olan bir sayıdır. Bu nedenle, verilen sayının 2’den başlayarak kendisinin kareköküne kadar olan sayılara bölebiliyor olup olmadığını kontrol ediyoruz.

  1. Fibonacci Serisi

İlk n Fibonacci sayısını hesaplayan algoritma örneği:

int n = Convert.ToInt32(Console.ReadLine());
int prev = 0, current = 1, next;
Console.Write($"{prev} {current}");
for (int i = 2; i < n; i++)
{
    next = prev + current;
    Console.Write($" {next}");
    prev = current;
    current = next;
}

Bu örnek, kullanıcının istediği kadar Fibonacci sayısını hesaplar ve gösterir. Fibonacci serisi, her sayının kendisinden önceki iki sayının toplamı olduğu bir seridir. Örneğin, serinin ilk elemanları 0, 1, 1, 2, 3, 5, 8, 13, … şeklinde devam eder.

  1. Dizi Sıralama – Bubble Sort

Bir dizi içindeki elemanları küçükten büyüğe sıralayan Bubble Sort algoritması:

int[] array = { 64, 34, 25, 12, 22, 11, 90 };
int n = array.Length;
for (int i = 0; i < n - 1; i++)
{
    for (int j = 0; j < n - i - 1; j++)
    {
        if (array[j] > array[j + 1])
        {
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
}

Bu örnek, bir diziyi küçükten büyüğe sıralayan Bubble Sort algoritmasını gösterir. Bubble Sort, her adımda komşu iki elemanı karşılaştırarak büyük olanı bir sonraki elemanla yer değiştirir. Bu işlem dizinin tamamı sıralanana kadar devam eder.

C# Temel Algoritma Örnekleri

  1. Çarpım Tablosu

Kullanıcının girdiği bir sayının çarpım tablosunu oluşturan örnek:

int num = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= 10; i++)
{
    Console.WriteLine($"{num} x {i} = {num * i}");
}

Bu örnek, kullanıcının girdiği bir sayının çarpım tablosunu oluşturur. Örneğin, kullanıcı 5 girdiğinde çarpım tablosu şu şekilde olur:

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
...
5 x 10 = 50
  1. En Büyük Ortak Bölgen (EBOB) ve En Küçük Ortak Kat (EKOK)

Kullanıcının girdiği iki sayının EBOB ve EKOK’unu hesaplayan örnek:

int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());

int temp1 = num1, temp2 = num2;

while (num1 != num2)
{
    if (num1 > num2)
        num1 -= num2;
    else
        num2 -= num1;
}

int ebob = num1;
int ekok = (temp1 * temp2) / ebob;

Console.WriteLine($"EBOB: {ebob}, EKOK: {ekok}");

Bu örnek, kullanıcının girdiği iki sayının EBOB ve EKOK’unu hesaplar. EBOB, iki veya daha fazla sayının ortak bölenlerinden en büyüğüdür. EKOK ise verilen sayıların katlarının en küçüğüdür.

  1. Binary Search (İkili Arama)

Sıralı bir dizide bir elemanın indeksini bulmak için binary search algoritması:

int[] array = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
int target = Convert.ToInt32(Console.ReadLine());

int left = 0, right = array.Length - 1;
int index = -1;

while (left <= right)
{
    int mid = (left + right) / 2;
    if (array[mid] == target)
    {
        index = mid;
        break;
    }
    else if (array[mid] < target)
    {
        left = mid + 1;
    }
    else
    {
        right = mid - 1;
    }
}

Console.WriteLine(index != -1 ? $"Bulundu, indeks: {index}" : "Bulunamadı");

Bu örnek, sıralı bir dizide belirli bir elemanın indeksini bulmak için binary search algoritmasını kullanır. Özellikle İlk olarak dizinin ortasındaki eleman kontrol edilmektedir. Eğer hedef elemandan büyükse sağ tarafa, küçükse sol tarafa gidilecektir. Bu işlem dizide hedef eleman bulunana kadar tekrarlanır.

  1. Selection Sort (Seçerek Sıralama)

Diziyi en küçük elemandan başlayarak sıralayan Selection Sort algoritması:

int[] array = { 64, 25, 12, 22, 11 };
int n = array.Length;

for (int i = 0; i < n - 1; i++)
{
    int minIndex = i;
    for (int j = i + 1; j < n; j++)
    {
        if (array[j] < array[minIndex])
        {
            minIndex = j;
        }
    }
    int temp = array[minIndex];
    array[minIndex] = array[i];
    array[i] = temp;
}

Bu örnek, dizi içindeki en küçük elemanı bulup başa yerleştirerek sıralama yapar. Daha sonra en küçük eleman bulunmuş bölge dışında kalan kısmı aynı şekilde sıralamaya devam eder. Ayrıca Bu algoritma, her adımda en küçük elemanı seçtiği için “Selection Sort” olarak adlandırılır.

Bu örnekler, C# dilinde temel algoritmaların nasıl çalıştığını anlamak için iyi bir başlangıç ​​noktasıdır. Özellikle Algoritmaları anlamak ve uygulamak, programlama becerilerinizi geliştirmenize ve daha karmaşık projelerde daha etkili kodlar yazmanıza yardımcı olacaktır.

C# Temelleri Hakkında Daha Fazla Bilgi İçin Tıklayınız.

C# dilinde temel algoritma örneklerini incelemek, programlama mantığını geliştirmek ve kodlama becerilerini artırmak için harika bir yoldur. Bu yazıdaki C# Algoritma Örnekleri, algoritma temellerini anlamak ve daha karmaşık problemleri çözmek için güçlü bir temel sunar.

İlginizi Çekebilir

Bir yanıt yazın

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