Tekil Mesaj gösterimi
Alt 11 Temmuz 2014, 10:33   #1
Çevrimdışı
Swat
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ı reklam ver Benimmekan Mobil Sohbet