C# ile atama sistemi nasıl yapılır?

erm1sh

Kilopat
Katılım
8 Eylül 2016
Mesajlar
121
Çözümler
2
Yer
Bilecik,Bozüyük
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
İyi forumlar. Yapmam gereken bir projem var ve bu proje öğretmen atama sistemi ile alakalı. Sormak istediğim soru, bu atama sisteminin nasıl yapılacağı. Oluşturmam gereken formülden bahsedeyim;

Öğretmenler hizmet puanı en yüksek olacak şekilde sıralanacak. Hizmet puanı en yüksek olan öğretmen, birinci tercihine yerleştirilecek. Diğerleri de okul-öğretmen puan endekslemesine göre yerleştirilecek. Ben yapamadığım için sizlerden yardımcı olmanızı talep ediyorum. Cevaplarınızı bekleyeceğim. Teşekkürler.
 
Selection Short ile dizi sıralaması yap. Onlarla büyükten küçüğe doğru sırala.

Dizi uzunluğunu sayaç yap.

For döngüsü aç
0'Dan dizi. Length -1'e kadar kadar artarak gitsin.

Bu döngü içinde 5'e kadar e okula yerleştirildi diye yazsın

En yüksek puan dizi. Length-1 olacak onun için if döngüsü aç

En yüksek puanı aldığını belirt.

Böyle olabilir.

Selection Short Kodu:

int[] dizi = { 2, 1, 33, 14, 11, 12, -1 }; // Java'dan yazmıştım ben eskiden sıkıntı olmaz herhalde.
int temp, key = 0, i, j;

for (i = 0; i < dizi.length - 1; i++) {
key = i;
for (j = i + 1; j < dizi.length - 1; j++) {
if (dizi[key] > dizi[j]) {
key = j;
}
}
temp = dizi[key];
dizi[key] = dizi;
dizi = temp;

System.out.println(dizi);



Dizi uzunluğunu belirleyerek puanları tek tek girebilirsin.

Neden Selection Short sorusunun cevabı ise ; daha hızlı sıralamanın yanında bellekte en az yer kaplıyormuş.
 
Öğretmenlerin puanlarını ve okulları iki farklı diziye tanımlayın.
Öğretmenlerin hizmet puanlarını iç içe döngü veya metot kullanarak büyükten küçüğe doğru sıralayın. Bu sayede en yüksek puanlı öğretmeni öğrenelim. Ardından dizinin sıfırıncı indisindeki puana sahip öğretmeni birinci tercihine atayın.
Tekrar döngü kullanarak bu sefer dönecek değer dizinin 1. indisinden başlayarak kalan öğretmenleri de puanı büyükten küçüğe doğru okullara atayın.

Eğer soruyu doğru anladıysam mantığını bu şekilde kurabilirsiniz. C# bilmediğimden kod konusunda yardımcı olamıyorum maalesef.
 

Yeni konular

Geri
Yukarı