IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Temmuz 2014, 10:33   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Filozof Problemi Programı




Filozof problemi genel olarak ; 5 kişinin 4 adet çatal kullanarak yemeklerini yemesi problemidir.

Her kişinin yemeği ne kadar sürede yediğide belirtildikten sonra yemek sayısı girilerek yemeği yiyen kişi daha sonra çatalı bırakır çatal boşta kalan kişi tarafından kullanılır. Burada önemli problemlerden bir tanesi sürekli olarak bir kişinin aç kalmasını önlemektir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" int dizi[5]={0,0,0,0,0}; int yeme[5]={0,0,0,0,0}; //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { String durum; int catalsay=0; if(CheckBox6->Checked) catalsay++; if(CheckBox7->Checked) catalsay++; if(CheckBox8->Checked) catalsay++; if(CheckBox9->Checked) catalsay++; if(CheckBox10->Checked) catalsay++; if(catalsay==4) durum="tamam"; else { durum="hayir"; Application->MessageBoxA("Çatal Sayısı Dört Olmalıdır","UYARI",MB_ICONINFORMATION); } if((CheckBox1->Checked)||(CheckBox2->Checked)||(CheckBox3->Checked)||(CheckBox4->Checked)||(CheckBox5->Checked)) { durum="hayir"; Application->MessageBoxA("Filozoflar Tıklanamaz","UYARI",MB_ICONINFORMATION); } if(Edit1->Text=="") { durum="hayir"; Application->MessageBoxA("Yemek Sayısı Giriniz","UYARI",MB_ICONINFORMATION); } if((Edit2->Text=="")||(Edit3->Text=="")||(Edit4->Text=="")||(Edit5->Text=="")||(Edit6->Text=="")) { durum="hayir"; Application->MessageBoxA("Bekleme Sürelerini Giriniz","UYARI",MB_ICONINFORMATION); } if(durum=="tamam") Timer1->Enabled=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer2->Enabled=true; int sira; if(CheckBox6->Checked) { if(dizi[0]>=dizi[1]) sira=0; else sira=1; if(sira==0) { if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text)) { CheckBox1->Checked=true; CheckBox6->Checked=false; dizi[0]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text)) { CheckBox2->Checked=true; CheckBox6->Checked=false; dizi[1]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } else if(sira==1) { if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text)) { CheckBox2->Checked=true; CheckBox6->Checked=false; dizi[1]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text)) { CheckBox1->Checked=true; CheckBox6->Checked=false; dizi[0]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } } if(CheckBox7->Checked) { if(dizi[1]>=dizi[2]) sira=1; else sira=2; if(sira==1) { if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text)) { CheckBox2->Checked=true; CheckBox7->Checked=false; dizi[1]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text)) { CheckBox3->Checked=true; CheckBox7->Checked=false; dizi[2]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } else if(sira==2) { if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text)) { CheckBox3->Checked=true; CheckBox7->Checked=false; dizi[2]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text)) { CheckBox2->Checked=true; CheckBox7->Checked=false; dizi[1]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } } if(CheckBox8->Checked) { if(dizi[2]>=dizi[3]) sira=2; else sira=3; if(sira==2) { if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text)) { CheckBox3->Checked=true; CheckBox8->Checked=false; dizi[2]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text)) { CheckBox4->Checked=true; CheckBox8->Checked=false; dizi[3]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } else if(sira==3) { if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text)) { CheckBox4->Checked=true; CheckBox8->Checked=false; dizi[3]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text)) { CheckBox3->Checked=true; CheckBox8->Checked=false; dizi[2]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } } if(CheckBox9->Checked) { if(dizi[3]>=dizi[4]) sira=3; else sira=4; if(sira==3) { if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text)) { CheckBox4->Checked=true; CheckBox9->Checked=false; dizi[3]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text)) { CheckBox5->Checked=true; CheckBox9->Checked=false; dizi[4]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } else if(sira==4) { if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text)) { CheckBox5->Checked=true; CheckBox9->Checked=false; dizi[4]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text)) { CheckBox4->Checked=true; CheckBox9->Checked=false; dizi[3]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } } if(CheckBox10->Checked) { if(dizi[0]>=dizi[4]) sira=0; else sira=4; if(sira==0) { if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text)) { CheckBox1->Checked=true; CheckBox10->Checked=false; dizi[0]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text)) { CheckBox5->Checked=true; CheckBox10->Checked=false; dizi[4]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } else if(sira==4) { if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text)) { CheckBox5->Checked=true; CheckBox10->Checked=false; dizi[4]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } else if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text)) { CheckBox1->Checked=true; CheckBox10->Checked=false; dizi[0]=0; Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1)); } } } if(StrToInt(Edit1->Text)==0) { Timer1->Enabled=false; Application->MessageBoxA("Yemek Bitti :))","UYARI",MB_ICONINFORMATION); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer2Timer(TObject *Sender) { if(!CheckBox1->Checked) dizi[0]+=1; else yeme[0]+=1; if(!CheckBox2->Checked) dizi[1]+=1; else yeme[1]+=1; if(!CheckBox3->Checked) dizi[2]+=1; else yeme[2]+=1; if(!CheckBox4->Checked) dizi[3]+=1; else yeme[3]+=1; if(!CheckBox5->Checked) dizi[4]+=1; else yeme[4]+=1; if(yeme[0]>=5) { if(CheckBox6->Checked==false) { yeme[0]=0; CheckBox1->Checked=false; CheckBox6->Checked=true; } else if(CheckBox10->Checked==false) { yeme[0]=0; CheckBox1->Checked=false; CheckBox10->Checked=true; } } if(yeme[1]>=5) { if(CheckBox6->Checked==false) { yeme[1]=0; CheckBox2->Checked=false; CheckBox6->Checked=true; } else if(CheckBox7->Checked==false) { yeme[1]=0; CheckBox2->Checked=false; CheckBox7->Checked=true; } } if(yeme[2]>=5) { if(CheckBox7->Checked==false) { yeme[2]=0; CheckBox3->Checked=false; CheckBox7->Checked=true; } else if(CheckBox8->Checked==false) { yeme[2]=0; CheckBox3->Checked=false; CheckBox8->Checked=true; } } if(yeme[3]>=5) { if(CheckBox8->Checked==false) { yeme[3]=0; CheckBox4->Checked=false; CheckBox8->Checked=true; } else if(CheckBox9->Checked==false) { yeme[3]=0; CheckBox4->Checked=false; CheckBox9->Checked=true; } } if(yeme[4]>=5) { if(CheckBox9->Checked==false) { yeme[4]=0; CheckBox5->Checked=false; CheckBox9->Checked=true; } else if(CheckBox10->Checked==false) { yeme[4]=0; CheckBox5->Checked=false; CheckBox10->Checked=true; } } if(Timer1->Enabled==false) Timer2->Enabled=false; } //---------------------------------------------------------------------------


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
filozof, problemi, programı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Filozof Nedir ? xena Felsefe 0 24 Mart 2013 16:41
Rüyada Filozof görmek Zen Rüya Tabirleri 0 02 Aralık 2012 22:20
Rüyada Filozof görmek Zen Rüya Tabirleri 0 26 Kasım 2012 16:10
Fıçıda Yaşayan Filozof Kalemzede Felsefe 0 10 Ağustos 2011 14:27
Çocuk Ve Filozof Hesna Felsefe 1 07 Ocak 2011 22:09