# SEKİZ (8) VEZİR OYUNUNUN C++ TA GERÇEKLENMESİ

SEKİZ VEZİR,SATRANÇ TAHTASI ÜZERİNDE HİÇ BİR VEZİRİN BİRBİRLERİNİ TEHDİT ETMEYECEK ŞEKİLDE 8*8 LİK BİR MATRİS ÜZERİNDE DİZİLMESİYLE GERÇEKLENEN BİR OYUNDUR BURDA BEN RANDOM OLARAK YER BULMAYA ÇALIŞTIĞIM İÇİN BAZEN SONUÇ ÇIKMAYABİLİR BUNUN İÇİN BİR KAÇ DEFA KOŞTURULMASI GEREKEBİLİR.ANLAŞILMAYAN YERLERİ SORABİLİRSİNİZ.

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;

char p[8][8];

void isaretle(int a,int b)
{
int c=b;
if(a==7)
return;

if(b==0&&a<7)
{
for(int i=a+1;i<8;i++)
p[i][++b]=’,’;
for(int i=a+1;i<8;i++)
p[i][0]=’,’;
}
else if(b==7&&a<7)
{
for(int i=a+1;i<8;i++)
p[i][–b]=’,’;
for(int i=a+1;i<8;i++)
p[i][7]=’,’;
}
else if(b!=0&&b!=7&&a<7)
{
for(int i=a+1;i<8;i++)
{
b++;
if(b<8)
p[i][b]=’,’;
else
break;
}
b=c;
for(int i=a+1;i<8;i++)
p[i][b]=’,’;
b=c;
for(int i=a+1;i<8;i++)
{
b–;
if(b>=0)
p[i][b]=’,’;
else
break;
}
}
}

void deveci()
{
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
p[i][j]=’.’;
}

bool okay(int a)
{
int count=0;
for(int j=0;j<8;j++)
if(p[a][j]==’.’)
count++;

if(count==0)
return false;
else
return true;
}

void start()
{
int y,count=0;

for(int i=0;i<8;i++)
{
y:
int x=rand()%8;
if(p[i][x]!=’.’)
goto y;

if(okay(i)==true)
{
p[i][x]=’V’;
isaretle(i,x);
}
else
{
count++;
break;
}
}

}

void print()
{
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
cout<<p[i][j]<<”  “;
cout<<endl<<endl;
}

}

main()
{
srand(time(NULL));
deveci();
start();
print();

system (“pause”);
}

MEHMET SALİH DEVECİ

YAZILIM MÜHENDİSİ

#### Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com.-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

### 25 thoughts on “SEKİZ (8) VEZİR OYUNUNUN C++ TA GERÇEKLENMESİ”

• December 23, 2010 at 5:27 pm

Merhaba çok güzel bir konu teşekkürler..;)

Benim bir sorum olucaktı? C#’Da console ekranında yazmak istiyorum yardımcı olursanız sevinirim.. :/

• December 23, 2010 at 9:18 pm

Aslında kodların tamamını C# ekranına entegre etmeniz çok kolaydır…zaten bu kod genel anlamda programlanmıştır bu yüzden C# a entegresi çok kolaydır sanırım kısa sürede gerçekleştirebilirsiniz.

• December 30, 2010 at 3:43 pm

bu s,stemi console uygulamasına aktaramadım c# kullanıyorum . Bu konuda yardımcı olursanız çok sevinirim. Benim için önemli bir ödev

• December 30, 2010 at 4:00 pm

• January 10, 2011 at 4:29 pm

bu sanırım c++ da yazılmış. bunu c# a nasıl geçirebiliriz acaba.bilmediğim cok terim var ondan sanırım yardımcı olabilirseniz çok sevinirim yada bir iletişim bilgisi verirseniz size ulsassam

• February 17, 2011 at 8:28 am

Ya benim bunu C de yazmam lazım :S C++ değil 🙂 ama nasıl yapıcamı bi türlü çözemedim yani mantığını anlamadım :SYardım ederseniz çok sevinicem :S

• February 17, 2011 at 1:23 pm

Merhaba merve hanım….Sadece bu uygulama için konuşuyorum Bu uygulama için yazdığım kod içerisinde sadece cout ve cin için printf ve scanf kullanmanız bununla beraber kütüphane olarak ise #include yerine #include ve #include kullanmanız yeterlidir…Bu değişiklikleri yaptıktan sonra ortaya çıkacak kod C ile yazılmış bir 8 vezir oyunu olmuş olacaktır…

• February 24, 2011 at 1:14 pm

Çok faydalı bir paylaşım teşekkür ederiz…

• February 24, 2011 at 2:52 pm

Önemli deil Fatih bey…

• March 8, 2011 at 3:01 pm

1 aydır c# da ugraşıyorum ve yapamadım artık aptal olduguma inanmaya başladım :S
ne yaptıysam olmuyor ..

• March 8, 2011 at 4:42 pm

Estafirullah Yusuf bey…Öncellikle şunu söyliyeyim 8 vezir in C# lık tarafı pek yok çünkü algoritmik bir problemdir…O yüzden öncellikle problemin algoritmasını çıkarıp ardından kodlasanız iyi olur…

• March 9, 2011 at 8:48 pm

abi yok ya bıktırdı beni artık ..ama ugraşıyorum yinede neden ugraşıyorsam..bir gün biiznillah bu soruyu cözücem cok yakında ..c# da yeni başladım belki bir türlü o yüzden cözemiyorum ama bilmiyorum artık kafayı yetirdi abi..

• March 9, 2011 at 8:55 pm

Dostum sen algoritmayımı çözemedin yoksa C# tarafındamı problem yaşıyosun???

• March 9, 2011 at 10:06 pm

algoritmayı cözemedim galiba eger genelde tek algoritmamı kullanılır ? tam olarak bir bilgim yok mehmet abi bu arada meslek lisesi okuyorum..

• March 9, 2011 at 10:07 pm

meslek lisesi okuyorum dememin sebepi algoritmalar ve sayre konusu işlemedik abi daha yeni yeni yazılıma girdik .. acaba bu soruyu cözmek icin bir algoritmamı bilmek lazım..

• March 10, 2011 at 11:47 am

EEE yusuf tabiki bu problem sadece algoritmik bir problemdir..İşin matematiğini algoritmasını çözdükten sonra programlaman iyise 1-2 saatte kodlarsın bu problemi…Zaten bu problemdeki en büyük şey Algoritmadır…

• March 10, 2011 at 6:50 pm

ilk veziri koydugum yere göre bazen 8 tane vezir diziyor bazen de sıkışıyor 7 tane yada daha sacma birşey cıkartıyor acaba nasıl bir algoritma izlemeliyim cözüm icin abi ?

• March 10, 2011 at 7:52 pm

tmm rabbime cok şükür yaptım..:) bir count degişkeni ile 8 vezirden fazla vezir varsa bir daha random üretiyor.bu sefer başarılı olunuyor : )

• March 10, 2011 at 9:50 pm

Tebrikler Yusuf :))) işte bu kadarmış:)))

• March 11, 2011 at 8:55 am

rabbe hamd-ü senalar olsun diyelim..bu arada sen bende eklisin ama hic acmıyorsun abi : ) haberin olsun..

• March 11, 2011 at 9:46 am

neyi hiç açmıyorum Face imi Msn imi??? Msn i ben nerdeyse hiç kullanmıyom ama face sürekli açık…

• November 28, 2011 at 12:00 pm

iyi günler 8 vezir problemi konusunda sormam gereken bazı seyler var yardımcı olabilirseniz cok sevinirim

• December 12, 2016 at 11:41 am

” SİSTEM BELİRTİLEN DOSYAYI BULAMADI ” HATASI ALIYORUM NE YAPMAM LAZIM 🙁