Çok da yoğun işlemlerin olmadığı bu C programı, açık arttırma algoritmasını kullanarak teklif verenler arasında kazananı belirler ve ödeme miktarını hesaplar. Program, struct ve typedef kullanılarak tasarlanmıştır.
typedef struct {
int teklifveren_no;
double teklif;
} Bid;
Arttirma Struct
typedef struct {
Bid *teklifler; // Teklif dizisi
int teklifveren_sayisi; // Teklif veren sayısı
} Arttirma;
Programda işaretçiler, özellikle de bellek yönetimi için kullanılmaktadır. Örneğin, tekliflerin tutulduğu diziyi dinamik olarak oluşturmak ve bellekten serbest bırakmak için işaretçiler kullanılır.
Açık artırma, oyun teorisinin pratik bir örneğidir. Oyun teorisi, çeşitli paydaşların stratejik kararlar alırken birbirleriyle etkileşimde bulunduğu durumları inceleyen bir matematiksel modellemedir.
Açık artırmada, her teklif veren kendi stratejisini belirler ve kazanmak için en uygun teklifi vermeye çalışır. Bu durum, oyuncuların kendi çıkarlarını en iyi şekilde optimize etmeye çalıştığı bir oyun teorisi problemi olarak görülebilir.
Açık artırmada, her bir teklif verenin stratejisinin diğer teklif verenlerin stratejilerine bağlı olduğu bir rekabet ortamı söz konusudur. Oyun teorisi, bu tür etkileşimli durumları modellemek ve anlamak için kullanılan bir araçtır.
Program, teklif veren sayısını kullanıcıdan alır ve ardından her teklif verenin teklifini sırasıyla girmesini bekler. Daha sonra açık artırmayı gerçekleştirir ve kazanan teklif sahibini ve ödeme miktarını ekrana yazdırır.
Projemizdeki main.c Dosyamızı Dev C++ İle Açıyoruz: Kodlarımızı Gördükten Sonra F11 Tuşu İle Compile & Run Ediyoruz.
Teklif Veren Sayısını ve Teklifleri Giriyoruz. Ardından Gördüğümüz Üzere Açık Arttırmamız Doğru Şekilde Sonuçlanıyor: