none
Döngü İçindeki Değeri Sıfırlama ve Yeniden Döngüye Girme RRS feed

  • Genel Tartışma

  • Merhaba,

    İkinci for döngüsü (for (int i = 0; i < müs_no; i++) olarak belirttiğim) bittikten sonra servis[j].bitis sıfırlanmıyor. Şöyle ki t=0  döngüsünde en son servis bitişi (tüm müşteriler işlem gördükten sonra, müs_no ya kadar) 25. dakika ise t=1 olduğu takdirde ilk müşterinin servis bitişi (25 + serviszamanı) oluyor. t=1'de servise başlaması süresinin tekrar sıfır olması gerekiyor ama sıfırlanmıyor. Nasıl yapabilirim? Sınıftaki servis bitişi ve başlama süresi ise şu şekildedir;

    class Sunucu
        {
            public int bitis;
            public Sunucu()
            {
                bitis = 0;
            }
            public void islem(int baslama, int serviszamanı)
            {            
                bitis = baslama + serviszamanı;
            }
            public bool Doluysa(int Arrival)
            {
                if (Arrival < bitis) return true;
                return false;
            }
        }

    Arrival ve serviszamanı değerleri olasılık dağılımlarına uygun olarak üretiliyor. Müs_no ise yine olasılık dağılımlarına göre üretiliyor. calisansayisi1 e, dışarıdan giriş yapılıyor. Kod satırım çok fazla olduğu için hepsini paylaşamıyorum.

    Teşekkür ederim.

    for (int t = 0; t < calisansayisi1 + 2; t++)
                {               
                    for (int i = 0; i < müs_no; i++)
                    {
                        int j = i % (calisansayisi1 + t);
                        int Arrival = müsteri.Çıkartma();
                        if ((!servis[j].Doluysa(Arrival)) && Arrival == servis[j].bitis)
                        {
                            servis[j].islem(Arrival, serviszamanı);
                        }                  
                        else if ((!servis[j].Doluysa(Arrival)) && Arrival > servis[j].bitis)
                        {
                            calisan_bekleme = (Arrival - servis[j].bitis);
                            servis[j].islem(Arrival, serviszamanı);
                        }
                       else 
                        {
                            müsteri_bekleme += (servis[j].bitis - Arrival);
                            müsteri_bekleme1 = (servis[j].bitis - Arrival);
                            servis[j].islem(servis[j].bitis, serviszamanı);                        
                        }
                                        
                    }
                    
                }
                                                        



                    

                }

    18 Temmuz 2020 Cumartesi 20:09

Tüm Yanıtlar

  • selam, kodlardan çok birşey anlamadım:) müsaitsen bağlanıp bakabilirim

    Yanıtları yardımcı olurlarsa yanıt olarak işaretlemeyi ve yardım sağlamazlarsa işaretlerini kaldırmayı unutmayın; bu, aynı veya benzer soruna çözüm arayan diğerlerine yardımcı olacaktır.

    18 Temmuz 2020 Cumartesi 20:28